我需要Azure WorkerRole错误处理指导

有没有人有一组他们想要分享的与Azure WorkerRole错误处理相关的最佳实践?我特别指出你可能有关于如何处理持久性错误条件的任何想法(即,对Web服务等外部资源的访问暂时停机数小时).谢谢….. 最佳答案 您可以查看
Exception Handling Action Policies App Block for .NET这种情况(curcuit breaker或简单的睡眠和重试 – 永远可能会起作用).

此应用程序块在场景中很有用,其中分布式系统的元素之间的连接不可靠并且会受到各种故障的影响.其中一个优点是可以在适当的位置配置整个应用程序的此类操作策略,然后通过Inversion of Control将其注入适当的类.

例如:

var policy = ActionPolicy
  .Handle<CommunicationException>()
  .CircuitBreaker(1.Minutes(), 2);

var recordSet = policy
  .Get(() => remoteRepository.GetRecords(someCriteria));

Lokad.Cloud(对于Azure)开源项目使用Lokad共享库中的相同策略.

注意:操作策略与Azure存储的RetryPolicies兼容:

var policy = ActionPolicy.Handle<StorageServerException>().Retry(5);
queueService.RetryPolicy = policy.Do;
点赞