2014-10-26 60 views
4

我有一个在Azure WebSites上运行的WebAPI应用程序。它在基本模式下运行,我可以选择将其设置为“始终打开”。网上似乎有冲突的信息,关于这意味着什么。我知道效果,但这里的“如何”很重要。特别是,一些东西是否会自动在我的应用程序中定期点击终端?如果是这样,我可以控制它击中的端点吗?Azure WebSite Always On

正如我所提到的那样,它是一个Web API应用程序,默认路由并不重要,并且导致大量的出站流量,并且还会导致项目被放置到最终将被处理的工作队列中。我希望应用程序始终开启(无冷启动时间),但我不希望某些服务请求应用程序。

+0

一些信息在这篇文章中:http://stackoverflow.com/questions/21840983/will-always-on-setting-prevent-both-idletimeout-and-periodicrestart – 2014-10-27 12:55:28

+0

我看到这个花絮,“如果一个网站发生以任何其他原因重新启动Always On将确保启动您的站点并向站点root /发送请求。“这表明他们在启动时确实击中了网站根目录。我仍然好奇他们是否会击中网站根目录来保持它的活力。 – 2014-10-27 16:09:24

+2

对任何服务的“默认”URL做非平凡的工作似乎会导致这种问题;大多数自动化系统都假设一个网站的根目录只是一个登陆页面。我强烈建议**改变设计,以便在应用程序根目录上使用HTTP GET尽可能少地花费。 – 2014-10-27 17:33:15

回答

7

只要您的Azure网站被标记为AlwaysOn,您的网站根就会在几秒钟内击中。我们还确保您的网站已启动并在所有工作人员上运行(如果您已配置自动缩放选项等)。之后,如果工作进程崩溃,alwaysOn会确保它恢复。 您无法控制它击中的端点。

+0

不是我想要的答案,但是我认为正确的答案。 – 2014-10-27 22:15:55

+1

我还没有尝试过,但是您可以在 - http://www.iis.net/configreference/system.webserver/applicationinitialization - web中设置applicationInitialization .config指定要打哪个页面 - 我会尝试并确认 – 2014-10-27 22:41:03

+0

因此,应用程序初始化是如何工作来控制端点命中的,还是仅仅在向站点根请求之后向指定端点添加另一个请求? – 2016-09-29 09:32:47