我在IIS7上安装了WCF服务.我注意到第一次打电话给我的服务总是很慢.随后的呼叫要快得多且可以接受.
如果在一段时间内没有对服务进行调用,它将再次进入睡眠模式.在此之后,下一次通话需要很长时间.
针对这个问题的任何补救措施?
Inc*_*ito 12
这是因为IIS上的进程管理.当一段时间内没有呼叫时,IIS释放资源并停止该过程.这就是为什么你会注意到第一次请求和长时间延迟后请求的速度很慢的原因.因为在第一次请求或长时间的静默之后,IIS会从头开始加载所有内容.JIT编译器运行等...
另请注意:当您在IIS上托管WCF服务时,WCF服务享有ASP.NET应用程序的所有功能.您必须了解这些功能,因为它们可能会导致服务领域出现意外行为.其中一个主要功能是应用程序回收,包括应用程序域回收和流程回收.通过IIS管理控制台,您可以在希望进行回收时配置不同的规则.您可以在内存,准时和处理的请求数量上设置特定阈值.当IIS回收工作进程时,工作进程中的所有应用程序域也将被回收
如果需要自动启动:Windows服务控制管理器允许您将启动类型设置为自动,这样一旦Windows启动,服务就会启动,而无需在计算机上进行交互式登录.因此,您可以将Windows服务用作主机.
您可以在托管和使用WCF服务中查看更多详细信息.