0

如果我在工作角色实例中的主循环周围有一个 try/catch,例如当工作角色被取消以进行更新/重新启动时,是否会引发任何异常?

是否有另一种方法可以挂钩“销毁”事件,例如全局 try/catch 处理程序或析构函数?(当然这就是幕后任何实例周围的情况,因此它们可以将实例与环境隔离)

工作人员/Web 角色实例的整体生命周期事件是什么?

总是说 Azure 是一个防故障且稳定的平台,但也有人说实例可以随时消失。如何确保代码的某些“关键”部分不会被环境中断,并且会不间断地完成。

4

1 回答 1

0

当角色以有序的方式被取消时,文件OnStop中的方法workerrole.cs将被调用;

MSDN 链接

public override void OnStop()
{
    try
    {
        // Add code here that runs when the role instance is to be stopped
    }
    catch (Exception e)
    {
        Trace.WriteLine("Exception during OnStop: " + e.ToString());
        // Take other action as needed.
    }
}

但是,我确实认为您的 try catch 足以解决任何非优雅的问题。;)

于 2012-11-06T21:17:38.420 回答