2016-03-14 34 views
2

我有一个Web应用程序托管在IIS下。它是一个数据仓库,在其启动过程中,它需要在内存中实例化一大组项目(大概需要大约20分钟才能完成设置)。由于本网站对我们公司至关重要,因此该系统必须在白天在线100%,并且只能在下班时间重新启动。如何防止IIS在不使用时关闭网站?

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

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

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

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

下面是网站正在运行的应用程序池的高级设置屏幕。 (不知道它是非常有用的。)

Application Pool Settings

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

回答

8

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

注意:保持应用程序池始终运行将消耗服务器的宝贵内存。如果应用程序泄漏内存,它可能变得非常重要。

+0

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