4

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

该站点尚未启动,我发现一旦我部署并单击了一下,一切都很好并且非常快,然后如果我将站点单独放置 45 分钟左右并返回它,就会有一个加载页面时延迟很长。通过日志记录,我发现 Application_Start 被解雇了,我不得不等待网站重新启动并运行我所有的引导程序。

我的问题是,如果没有活动,Azure WebRole “进入睡眠状态”是否正常?如果是这样,我怎样才能阻止这种情况的发生,以便我那个时候访问该网站的幸运用户不会有很长的等待时间和糟糕的体验。

4

1 回答 1

6

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

于 2011-07-22T16:21:32.947 回答