IIS自动启动不禁用空闲超时

Fla*_*ien 11 asp.net iis azure iis-8

我在Windows Azure Web角色上设置了ASP.NET自动启动(我在Windows Server 2012上使用ASP.NET 4.5和IIS 8).我基本上遵循了这些指示.

我通过webrole的OnStart方法startMode="AlwaysRunning"在应用程序池和preloadEnabled="true"网站上进行设置.

我使用远程访问并验证这两个属性是否已正确设置(通过IIS管理器,以及检查applicationHost.config文件).

我还将此添加到web.config文件中:

<applicationInitialization skipManagedModules="true">
  <add initializationPage="/" />
</applicationInitialization>
Run Code Online (Sandbox Code Playgroud)

页面显示启用自动启动时应禁用空闲超时.但是,我可以从我的日志中看到它不是,应用程序池在一些不活动后重新启动.我还可以在事件日志中看到(多次超过6小时):

随着"77​​2"服务应用程序池"cf9d3284-6454-4bbf-8a8e-efd73df4ed83"进程ID工作进程被关闭,由于闲置.应用程序池超时配置设置为20分钟.必要时将启动新的工作进程.

奇怪的是,它似乎是一个新的应用程序池,这是记录后立即启动,即使该网站没有任何请求.所以,如果我没有在一小时内获得一个请求,我们的应用程序池被回收并重新启动3次(我证实了这一点从日志).我的配置不正确还是我错过了什么?

Jer*_*her 9

将启动模式设置为始终单独运行对我来说也不起作用,但在应用程序池的Advances设置中将空闲超时设置为0.

应用程序池高级设置


Bra*_*o11 1

http://developers.de/blogs/damir_dobric/archive/2009/10/11/iis-7-5-and-always-running-web-applications.aspx

我在这个问题上挣扎了很多。我竭尽全力让我的服务在 IIS 中保持活力,但最终感到厌倦,不得不采取不同的方法。我创建了一个 Windows 服务只是为了让这些应用程序池保持活动状态。您可以尝试的一种方法是转到 IIS 配置文件并验证是否可以看到您所做的配置已反映在该配置文件中。请参阅顶部的链接。但是,无论您何时将其设置为睡眠状态,您的配置都会在应用程序池重新启动时重置。您可能需要想出一些方法。