如何在第一次请求发生之前初始化WCF服务?

问题描述:

我有一个WCF服务,它使用位于数据库中的各种配置参数以及缓存以获得更好的性能。现在我有一个Singleton,它拥有这些信息,并在第一次调用Webservice时以延迟加载行为进行初始化。如何在第一次请求发生之前初始化WCF服务?

缓存最近被放弃了,所以初始化需要一些时间,当然导致第一个服务请求的响应时间更长。

那么在第一次调用发生之前(可能在应用程序池启动时),对服务进行某种预先加载初始化的最有效方式是什么?

刚刚通过我的旧问题,发现这是之前的答案。如果遇到这种情况,请参见此处 thread

不要将服务托管在asp.net应用程序中,而是在IIS中使用自托管过程(即控制台应用程序)或(甚至更好)WAS(Windows激活服务)服务。

这更加可靠,您可以在第一次呼叫之前初始化服务。

有关详细信息,请参阅MSDN