如何防止IIS 8停止空闲的ASP.NET应用程序?

我有一个运行在IIS 8中的Windows 2012上的asp.net应用程序,它有一个非常耗时的应用程序启动过程(实际上在Application_Start()事件中运行的代码最多可能需要2分钟)。 因此,我想尽量减less应用程序启动的次数,以便用户可以避免长时间的等待。

我已经在应用程序设置中启用了Preload,并且我已经在应用程序池中将Start Mode设置为AlwaysRunning。 然而,该应用程序在没有被使用一段时间后仍然结束,导致应用程序closures后首次访问该网站的时间很长。

有没有人有任何想法,我可以如何防止这一点?

谢谢

在IIS 7中,你必须将apppool的空闲时间设置为“0”,我猜想这对于IIS 8来说是相似的。

我相信在AppPool的启动模式下的AlwaysRunning选项将完成同样的事情。

http://weblogs.asp.net/britchie/archive/2010/09/08/death-to-windows-services-long-live-appfabric.aspx

甚至不要以为你需要IIS8上的appfabric。