如果我在一个辅助角色实例的主循环中有一个try / catch,那么当例如更改/重新启动工作者角色时,是否会抛出任何异常?
还有另一种方法可以挂钩“destroy”事件,比如全局try / catch处理程序或析构函数吗? (当然,这就是幕后的任何实例,因此他们可以将实例与环境隔离开来)
工作人员/ Web角色实例的整个生命周期事件是什么?
总是说Azure是一个防故障和稳定的平台,但也有人说,实例可以随时消失。如何确保某些“关键”代码部分不会被环境中断,并且不会中断。
答案 0 :(得分:0)
当以有序方式删除角色时,将调用OnStop
文件中的workerrole.cs
方法;
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.
}
}
但是我认为你的尝试捕获对于任何非优雅的问题都是足够的。 ;)