我们在.Net Framework 4.0中使用WCF服务创建了一个MVC应用程序。我们已经在Windows Server 2008和IIS 7.0中托管了该应用程序。我的MVC应用程序向wcf服务发送请求。每3到4个小时我的应用程序没有响应。在IIS中重新启动WCF后,它就是工作文件。
我检查事件日志,发现“进程ID为”xxxx“服务应用程序池的工作进程”ASP.NET v4.0“已请求回收,因为工作进程已达到其允许的处理时间限制。”
任何人都可以帮助我找出解决问题的方法。
我的应用程序池设置如下所示
答案 0 :(得分:0)
由于默认配置,您的AppPool必须由IIS回收。选择AppPool,在“操作”面板上,单击“回收...”
您可以取消选中“常规时间间隔”以避免这种情况。但默认值为1740分钟,即29小时,检查设置为AppPool的值,因为这不符合您的3到4小时问题。
无论如何,回收不会使应用程序不可用,它会在新请求时再次启动。
如果你的AppPool没有启动,可能会发生一些错误,请检查事件日志以找出重启AppPool期间的任何错误。
答案 1 :(得分:0)
如果您能够升级到至少IIS 7.5,则可以使用IIS应用程序初始化。这将允许您的应用程序定期回收,这是一个很好的稳定性,而不会定期不可用。这是因为Application Initialisation与IIS工作进程重叠,在杀死旧工作进程之前启动并初始化新的工作进程。它神奇地处理两个工作进程之间的重新路由请求。