我有一个 WCF 服务,它使用位于数据库中的各种配置参数,以及一个缓存以获得更好的性能。现在我有一个单例,它保存这些信息,并在第一次调用 Web 服务时以延迟加载行为进行初始化。
缓存最近被扩展,因此初始化需要一些时间,当然会导致第一个服务请求的响应时间更长。
那么在第一次调用发生之前(可能在应用程序池启动时)对服务进行某种急切加载初始化的最有效方法是什么?
不要在 asp.net 应用程序中托管服务,而是在 IIS 中使用自托管进程(即控制台应用程序)或(甚至更好)WAS(Windows 激活服务)服务。
这更可靠,您可以在第一次客户调用之前初始化服务。
有关详细信息,请参阅MSDN。