如何防止 IIS 在不使用时关闭网站?

Posted

技术标签:

【中文标题】如何防止 IIS 在不使用时关闭网站?【英文标题】:How to prevent IIS from shutting down Web Site when not in use? 【发布时间】:2016-06-29 20:54:05 【问题描述】:

我有一个托管在 IIS 下的 Web 应用程序。它是一个数据仓库,在其启动过程中,它需要在内存中实例化大量项目(完全设置大约需要 20 分钟)。因为这个网站对我们公司很重要,所以这个系统在白天必须100%在线,并且只能在下班时间重新启动。

由于某种原因,当一段时间没有使用时,此 Web 应用程序似乎“离线”。我知道这是因为访问网站时缓存没有完全实例化。这是不可接受的。

我不清楚网站关闭的原因。应用程序池仅设置为每天凌晨 4:00 回收(现在是上午 11 点)。

在 IIS 部分是否有其他我不知道的设置导致它自动关闭网站?

Addl 注意:在 Visual Studio 的 IISExpress 中运行时,网站不会自动关闭。只有托管在 IIS 上的生产版本会关闭。

这是运行网站的应用程序池的高级设置屏幕。 (不确定它是否有用。)

我使用的是 IIS 7.5,Server 2008 R2。它是一个 ASP.NET 5 Web 应用程序。

【问题讨论】:

【参考方案1】:

检查屏幕截图中进程模型下的空闲超时设置。该设置会导致应用程序池在闲置 20 分钟后关闭。您可以将其设置为 0 以使其始终运行,即使它处于空闲状态,即不处理任何请求。

注意:让应用程序池一直运行会消耗服务器的宝贵内存。这可能会变得至关重要,尤其是在应用程序泄漏内存的情况下。

【讨论】:

谢谢,这解决了我的问题。至于内存消耗..在我的情况下没关系。这是一个关键的内部 Web 应用程序,拥有自己的专用服务器。最重要的方面是保持在线,以便用户可以在工作时间的任何时间快速访问数据。

以上是关于如何防止 IIS 在不使用时关闭网站?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止web.config在网站更新时使用webdeploy覆盖

关闭选项卡时如何防止调试器停止

站点关闭时防止打开文件锁定

防止apache释放80端口

防止 QMenu 在其 QAction 之一被触发时关闭

由于iis中的工作进程,如何防止100%的CPU使用率