Windows Azure Web MVC应用程序Application_Start在没有活动后重新运行

Jef*_*ing 4 azure azure-web-roles asp.net-mvc-3

我有一个Windows Azure托管的MVC3应用程序.在Application_Start中,我调用所有需要在应用程序加载之前运行的引导程序,并且运行良好.其中一个运行的bootstrappers,点击一些Web服务API来预加载和缓存一堆数据.这个过程可能需要10-15秒,这很好,因为它在Application_Start中,并且在我自己部署和点击网站后一次点击.

该网站尚未推出,我发现一旦我部署并点击一下,一切都很好,非常快,那么如果我单独离开网站45分钟左右再回到它,有一个加载页面时长时间延迟.通过日志记录,我发现Application_Start正在被解雇,我不得不等待站点重新启动并运行我的所有bootstrappers.

我的问题是,如果不活动,Azure WebRole"进入睡眠状态"是否正常?如果是这样,我怎么能阻止这种情况发生,以便我的幸运用户访问该网站的那段时间没有太长的等待时间和糟糕的经历.

use*_*559 6

默认情况下,IIS在卸载它们之前对空闲应用程序有20分钟的超时.考虑使用启动任务来禁用此超时:http://blog.smarx.com/posts/controlling-application-pool-idle-timeouts-in-windows-azure.