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

本文关键字:初始化 WCF 服务 第一个 请求 | 更新日期: 2023-09-27 18:01:59

我有一个WCF服务,它使用位于数据库中的各种配置参数,以及缓存以获得更好的性能。现在我有一个Singleton,它保存了这些信息,并在第一次调用Webservice时以惰性加载行为初始化。

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

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

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

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

这样更可靠,你可以在第一个客户端调用之前初始化服务。