不,Windows Azure 网站在部署后不会自动启动网站。最重要的是,从网站实际创建到您将内容放入其中的时间非常长。我通过创建 Azure 网站并向其部署 MVC 4 应用程序来验证这一点。该应用程序在全局应用程序启动时设置了一个全局变量,其中包含当前日期时间,然后在默认控制器上输出该日期时间和服务器上的当前日期时间。我在部署代码后等待了几分钟,然后调用了该页面。这两次几乎相同,这意味着应用程序在控制器之前启动。如果在我部署时有什么东西启动了应用程序,那么这些时间将被我等待的时间所抵消。
由于它不会在部署后立即启动,因此您需要一些外部刺激才能这样做。
该站点可能会因为空闲 5 分钟到 20 分钟而关闭,具体取决于服务器的繁忙程度,即使在我相信的保留实例上也是如此。如果发生这种情况,下一个请求将通过在服务器上创建一个新的 IIS 进程来重新启动它。发生这种情况时,它不会立即重新启动站点,而是等待请求进入。当然,您可以使用 pingdom 甚至 Windows Azure Mobile Services Scheduler 之类的服务来持续向您的站点发送请求以让它活着。
您提到了一项后台工作,我想知道您是否真的可以通过网站轻松地做到这一点。如果您使用新流程启动它,我不确定这是否会起作用,并且如果您在同一流程中使用新线程执行此操作,那么您仍然会遇到相同的问题,即该站点可能会停止使用它来完成这项工作。
在谈论与某些传入请求交互的后台作业时,我不确定您的目标是什么,所以我不能说太多。如果后台作业将在计时器上运行,那么您可以使用诸如移动服务调度程序之类的东西按计划发送请求,以便您的代码做出反应。