2013-02-23 244 views
2

我想知道Azure网站的生命周期 - 具体如下:
1. Azure网站在部署后是否立即自动启动(global.asax application_start fire)?还是需要外部刺激 - http请求?
2.它何时何地被回收?
3.回收后,它是否自动启动(全局application_start射击)或需要外部刺激。蔚蓝网站的生命周期

其实我需要有一个小的后台作业(这也与某些传入的HTTP请求接口),我打算来调用启动。 我知道它可以在工作/网络角色中完成,但我喜欢即时部署Azure网站。

PS。我打算为azure网站使用Reserved实例。

感谢

+0

这不取决于Redmond是否在那里续约SSL – KryptoniteDove 2013-02-23 12:32:30

回答

2

不,Windows Azure的Web站点不启动它部署后自动网站。最重要的是,因为从该网站实际上创建到您将内容放入其中可能非常相当。我通过创建一个Azure网站并部署了一个MVC 4应用程序来验证这一点。该应用程序在全局应用程序启动时设置了一个全局变量和当前日期时间,然后在默认控制器上输出该日期时间和服务器上的当前日期时间。部署代码后,我等了几分钟,然后调出页面​​。这两次几乎完全相同,这意味着应用程序在控制器之前开始启动。如果我部署了应用程序时会产生一些问题,那么这些时间会因我等待的时间而减少。

因为它没有一个部署后立即旋转起来你会需要一些外界刺激这样做。

该网站可以被关闭,由于闲置5分钟的任何地方高达20分钟,这取决于服务器的繁忙程度,即使在预留实例,我相信。如果发生这种情况,下一个请求将通过在服务器上创建一个新的IIS进程来进行备份。发生这种情况时,不会立即使站点备份,而是等待请求进入。当然,您可以使用pingdom等服务,甚至可以使用Windows Azure移动服务调度程序一直向您的站点发送请求,以便保持它的生活。

你提到一个后台作业,如果你能实际上一个网站做到这一点很容易我不知道。如果您使用新流程进行调整,我不确定这会起作用,并且如果您在同一流程中使用新线程完成此操作,那么您仍然存在相同的问题,网站可能无法使用此工作。

我不知道你的目标是什么当谈论后台作业与某些传入的请求的接口,所以我不能说太多了这一点。如果后台作业是在计时器上运行的东西,那么您可能可以使用类似移动服务计划程序的内容按计划发送请求,以便代码对其做出反应。

+0

这是正确的。它没有自动启动。但是,在保留实例中,应用程序似乎在闲置10小时后仍继续运行。另外,你提出了一个关于建立新流程的有趣观点。尽管我们无法访问Azure网站上的许多IIS功能,但是,在保留实例上,如果通过调用process.start可以引发一个单独的进程,那么可能会很有趣。 – 2013-02-27 18:25:28

+0

当您移动到保留实例时,会删除许多配额。我的印象是,空闲时间保持不变(在共享实例中,这是一种算法,取决于几件事情需要5到20分钟左右),但是如果你看到它保持活跃,那么很好。这可能会改变,但您在该保留实例上运行的网站越多,不确定。 – MikeWo 2013-03-01 12:16:05

0

其实对#1,如果你的AlwaysOn的设置,它本质上模拟HTTP流量设为您的应用程序,以保持它的工作进程启动和运行网站可以自动启动,你的应用程序升温。您可以在doc page上阅读有关该设置的更多信息。