我可以在天蓝云服务Web角色中的OnStart()方法中运行长时间运行的任务(同步)吗?

时间:2018-06-02 11:56:45

标签: azure-web-roles azure-cloud-services

在Web角色开始接受请求之前,需要完成一些初始化工作(需要大约<= 10分钟)。所以我的问题是&#34; OnStart()方法是否有任何约束&#34;? Web角色会在两者之间重新启动吗?

1 个答案:

答案 0 :(得分:1)

  

OnStart()方法中有任何约束吗?

似乎OnStart()方法中没有任何约束。如果OnStart方法返回 false ,则会立即停止角色实例。如果方法返回 true ,则Windows Azure通过调用Run方法启动该角色。通常,您应该避免从OnStart方法返回false。

  

Web角色会在两者之间重启吗?

如果在其中一个生命周期方法中发生异常,Azure将引发UnhandledException事件,然后该进程终止。在您的角色脱机后,Azure将重新启动它。所以你应该避免在方法中使用UnhandledException。

有关详细信息,请参阅文章。

  1. Customize the Lifecycle of a Web or Worker role in .NET
  2. Role throws unhandled exceptions while initializing or stopping