我在角色上设置了ASP.NET自动启动(我在Windows 2012上使用了ASP.NET 4.5和IIS8)。我基本上跟踪了这些指示。
我在应用程序池上设置startMode="AlwaysRunning",在网站上通过webrole的OnStart方法设置preloadEnabled="true"。
我使用了远程访问,并验证了这两个属性是否正确设置(通过IIS,以及检查applicationHost.config文件)。
我还将其添加到web.config文件中:
<applicationInitialization skipManagedModules="true">
<add initializationPage="/" />
</applicationInitialization>此页面表示,启用自动启动时,应禁用空闲超时。然而,从我的日志中可以看出,它不是,应用程序池在一些不活动之后被重新启动。我还可以在事件日志中看到(6小时以上的几次):
进程id为'772‘服务应用程序池'cf9d3284-6454-4bbf-8a8e-efd73df4ed83’的工作进程由于不活动而被关闭。应用程序池超时配置设置为20分钟。需要时将启动一个新的辅助进程。
奇怪的是,它似乎是一个新的应用程序池启动后,这是立即记录,即使没有对网站的请求。因此,如果一个小时内没有得到一个请求,应用程序池将被回收并重新启动3次(我从日志中确认了这一点)。我的配置是错误的还是我遗漏了什么?
发布于 2015-01-27 13:28:13
将开始模式设置为始终单独运行对我也不起作用,但在应用程序池的高级设置中将空闲超时设置设置为0。

发布于 2013-07-09 10:52:57
(dobric/archive/2009/10/11/iis-7-5-and-always-running-web-applications.aspx)
我在这个问题上做了很多斗争。我尽我所能使我的服务在IIS中保持活力,但最终我感到疲倦,不得不采取不同的方法。我创建了一个windows服务,只是为了保持这些应用程序池的活力。您可以尝试的一种方法是转到IIS配置文件并验证是否可以看到您所做的配置反映在该配置文件中。请参考顶部的链接。但是你的配置会在应用程序池上被重置,无论你设置它进入睡眠的时间,重新启动它。你可能需要配合一些方法。
https://stackoverflow.com/questions/17545682
复制相似问题