"始终开启"的含义在Azure网站上设置

时间:2014-08-28 09:45:29

标签: .net iis azure azure-web-sites

我们在Azure上使用免费的BizSpark订阅,并将我们的应用程序托管为Azure网站。我们经常会遇到意外的站点关闭,因为它有很多后台进程,所以我们的应用程序非常痛苦。

“始终开启”设置可以解决此问题,但不幸的是,在当前订阅中我们无法使用它。

您可能知道IIS有两个基于以下设置的回收:

  1. 默认情况下,每个应用程序每1740终止一次     分钟(29小时) - 定期重启超时
  2. 如果申请未使用,也可以回收申请     持续20分钟 - 空闲超时
  3. 我想知道如果我们打开“始终在”设置,我们是否可以确保它有助于我们阻止上述两种应用程序回收类型

    顺便说一句,我发现了这个问题: Will "Always On" setting prevent BOTH idleTimeout and periodicRestart?有类似话题。它说这个设置应该有所帮助。

    但我想确定,这是真的。因为在我们的案例中,实时后台进程的中断是绝对不可接受的。

    感谢任何答案。

2 个答案:

答案 0 :(得分:9)

是的,当你有" Always On"打开。您链接到(Will "Always On" setting prevent BOTH idleTimeout and periodicRestart?)的问题的答案包含完整的详细信息。如果您有多个实例正在运行" Always On"还将确保所有这些都能继续运行。

对于长时间运行的进程,如果可以的话,我强烈建议您使用Azure Web Jobs。 Azure Webjobs SDK将使您的开发生活更轻松,并为您提供免费的许多不错的监控。请查看Scott Hanselman撰写的本教程:http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx

仅供参考,Webjobs在您的网站环境中运行,因此如果您的网站被回收(如果Always On被禁用),那么您的Webjob也将停止运行。启用"始终开启"将保持您的网络工作和您的网站。

答案 1 :(得分:2)

来自Microsoft Azure How to configure websites

  

始终开启 - 默认情况下,如果网站闲置一段时间,则会卸载网站。这使系统可以节省资源。如果需要始终加载站点,则可以在标准模式下为站点启用“始终开启”设置。如果禁用“始终开启”,连续的Web作业可能无法可靠地运行,则应在站点上运行连续Web作业时启用“始终开启”。

如果您有需要持续运行的东西,您可以查看Azure Webjobs或Worker Roles,它们会比IIS线程更可靠。