Asp.net IIS自动启动未禁用空闲超时
我在我的Windows Azure Web角色上设置了ASP.NET自动启动(我在Windows Server 2012上使用ASP.NET 4.5和IIS 8)。我基本上是跟着 我正在通过webrole的OnStart方法在应用程序池和网站上设置Asp.net IIS自动启动未禁用空闲超时,asp.net,iis,azure,iis-8,Asp.net,Iis,Azure,Iis 8,我在我的Windows Azure Web角色上设置了ASP.NET自动启动(我在Windows Server 2012上使用ASP.NET 4.5和IIS 8)。我基本上是跟着 我正在通过webrole的OnStart方法在应用程序池和网站上设置startMode=“AlwaysRunning” 我使用了远程访问并验证了这两个属性设置是否正确(通过IIS管理器,以及检查applicationHost.config文件) 我还将其添加到web.config文件中: <application
startMode=“AlwaysRunning”
我使用了远程访问并验证了这两个属性设置是否正确(通过IIS管理器,以及检查applicationHost.config文件)
我还将其添加到web.config文件中:
<applicationInitialization skipManagedModules="true">
<add initializationPage="/" />
</applicationInitialization>
表示启用自动启动时应禁用空闲超时。然而,我可以从我的日志中看到事实并非如此,应用程序池在一些不活动之后会重新启动。我还可以在事件日志中看到(在6小时内多次):
为应用程序池“cf9d3284-6454-4bbf-8a8e-efd73df4ed83”提供服务的进程id为“772”的工作进程因不活动而关闭。应用程序池超时配置设置为20分钟。需要时将启动新的工作进程
奇怪的是,即使没有对网站的请求,新的应用程序池似乎也会在登录后立即启动。因此,如果我在一小时内没有收到一个请求,应用程序池将被回收并重新启动3次(我从日志中确认了这一点)。我的配置不正确还是缺少什么?()
在这个问题上我做了很多努力。我尽我所能让我的服务在IIS中保持活力,但最终我感到厌倦,不得不采取不同的方法。我创建了一个windows服务,只是为了让这些应用程序池保持活动状态。您可以尝试的一种方法是转到IIS配置文件,并验证是否可以看到您所做的配置反映在该配置文件中。
请参阅顶部的链接。但无论何时将应用程序池设置为睡眠状态,应用程序池重启时都会重置您的配置。您可能需要想出一些方法。将启动模式设置为始终单独运行对我也不起作用,但在应用程序池的“高级设置”中将空闲超时设置为0起作用