IIS Precache应用程序池事件

IIS Precache应用程序池事件

问题描述:

我们有一个相当大的asp.net LOB Web应用程序。问题是,每次启动应用程序池时(无论是第一次,还是应用程序池被回收),启动并打开第一页需要10秒或更长时间。这使您处于查看白页和加载微调器的状态,直到IIS准备好提供页面。这不是世界的尽头,因为它通常只是一次性的事情,只有第一个人才能体验到这一点。我只是想知道是否有一个事件,我们可以挂钩提供一个页面,并向用户显示一些简单的启动画面类型,给他们一些类型的反馈,而不是加载状态。IIS Precache应用程序池事件

有没有人有任何想法如何钩入IIS/asp.net?

+0

我现实世界中,你可以与使用问题,检查网站的正常运行时间像uptimerobot或pigdome任何机器人阻止。 –

您可以使用应用程序初始化模块。如果运行IIS 8.0或更高版本,则它是内置的,如果运行IIS 7.5,则可以下载并安装它。

希望你正在运行.NET 4.5。将应用程序启动模式设置为始终运行。然后启用预加载。

然后在这里,你会想这在你的system.WebServer部分

<applicationInitialization remapManagedRequestsTo="Startup.htm" skipManagedModules="true" > 
    <add initializationPage="/default.aspx" /> 
</applicationInitialization> 

的startup.htm是默认加载屏幕添加到您的web.config。如果任何人在访问Web应用程序时尝试访问它,它将被重新映射到该Web应用程序。只需添加一个简单的JavaScript刷新位置脚本即可。

这个链接应该给你你需要的一切。再次,我假设您使用的是ASP.NET和IIS的新版本。

http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization