【问题标题】:IIS Auto-Start not disabling Idle TimeoutIIS 自动启动未禁用空闲超时
【发布时间】:2013-07-06 21:49:46
【问题描述】:

我在我的 Windows Azure Web 角色上设置了 ASP.NET 自动启动(我在 Windows Server 2012 上使用 ASP.NET 4.5 和 IIS 8)。我基本上关注了those instructions

我通过webrole的OnStart方法在应用池上设置startMode="AlwaysRunning",在网站上设置preloadEnabled="true"

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

我也在 web.config 文件中添加了这个:

<applicationInitialization skipManagedModules="true">
  <add initializationPage="/" />
</applicationInitialization>

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

服务于应用程序池“cf9d3284-6454-4bbf-8a8e-efd73df4ed83”的进程 ID 为“772”的工作进程由于不活动而被关闭。应用程序池超时配置设置为 20 分钟。需要时会启动一个新的工作进程。

奇怪的是,即使没有对网站的请求,似乎在记录后立即启动了一个新的应用程序池。因此,如果我在一小时内没有收到单个请求,应用程序池将被回收并重新启动 3 次(我从日志中确认了这一点)。是我的配置不正确还是遗漏了什么?

【问题讨论】:

    标签: asp.net iis azure iis-8


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      将启动模式设置为始终单独运行对我也不起作用,但在应用程序池的高级设置中将空闲超时设置为 0 可以。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-27
        • 2017-08-27
        • 2011-05-16
        • 1970-01-01
        • 1970-01-01
        • 2013-06-09
        相关资源
        最近更新 更多