gpt4 book ai didi

asp.net - azure 网站的生命周期

转载 作者:行者123 更新时间:2023-12-02 23:51:53 26 4
gpt4 key购买 nike

我想了解 Azure 网站的生命周期 - 特别是:
1. Azure网站部署后是否会立即自动启动(global.asax application_start fire)?还是需要外部刺激——http请求?
2. 如何以及何时回收?
3. 回收后是自动启动(全局application_start触发)还是需要外部刺激。

实际上,我需要一个小的后台作业(它还与某些传入的 http 请求交互),我计划在启动时调用它。我知道这可以在工作人员/Web 角色中完成,但我喜欢即时部署 Azure 网站。

PS。我计划对 Azure 网站使用预留实例。

谢谢

最佳答案

不,Windows Azure 网站在部署后不会自动启动网站。最重要的是,从网站实际创建到您将内容放入其中,时间可能会非常长。我通过创建 Azure 网站并向其部署 MVC 4 应用程序来验证这一点。该应用程序在全局应用程序启动中设置了一个全局变量,其中设置了当前日期时间,然后在默认 Controller 上输出该日期时间和服务器上的当前日期时间。部署代码后我等待了几分钟,然后调用了该页面。这两个时间几乎相同,这意味着应用程序在 Controller 之前启动。如果在我部署时有什么东西启动了应用程序,这些时间就会因我等待的时间而缩短。

由于它不会在部署后立即启动,因此您需要一些外部刺激才能启动。

网站可能会因闲置 5 分钟到 20 分钟而关闭,具体取决于服务器的繁忙程度,即使在我认为的保留实例上也是如此。如果发生这种情况,下一个请求将通过在服务器上创建新的 IIS 进程来恢复它。发生这种情况时,它不会立即恢复站点,而是等待请求传入。当然,您可以使用 pingdom 甚至 Windows Azure Mobile Services Scheduler 等服务来持续向站点发送请求,以便保持活力。

您提到了后台工作,我想知道您是否真的可以通过网站轻松做到这一点。如果您使用新进程启动此操作,我不确定这是否有效,如果您在同一进程内使用新线程执行此操作,那么您仍然会遇到相同的问题,即该网站可能会停止执行此作业。

在谈论与某些传入请求交互的后台作业时,我不确定您的目标是什么,所以我不能对此说太多。如果后台作业将在计时器上运行,那么您可能可以使用移动服务调度程序之类的东西按计划发送请求,以便您的代码使用react。

关于asp.net - azure 网站的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15040559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com