Windows Azure - событие, когда роль уничтожена
Если у меня есть попытка / отлов вокруг основного цикла в экземпляре рабочей роли, будет ли какое-либо исключение, если, например, рабочая роль будет удалена для обновления / перезагрузки?
Есть ли другой способ перехватить событие "destroy", например, глобальный обработчик try / catch или деструктор? (наверняка, это то, что находится вокруг любого экземпляра за кулисами, чтобы они могли изолировать экземпляры от среды)
Каковы общие события жизненного цикла для экземпляра рабочей / веб-роли?
Всегда говорят, что Azure является отказоустойчивой и стабильной платформой, но также говорят, что экземпляр может уйти в любое время. как обеспечить, чтобы некоторые "критические" части кода не прерывались средой и выполнялись непрерывно.
1 ответ
Когда роль снимается упорядоченным образом, 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.
}
}
Однако я думаю, что ваш улов будет достаточным для любых не изящных проблем.;)