偶尔会出现在我们不拥有的异步回调中发生未处理的异常。这反过来又导致角色失败。
在非Azure ASP.NET应用程序中,我们可以通过在aspnet.config中启用传统的未处理异常策略来避免这种情况,例如:
<configuration>
<runtime>
<legacyUnhandledExceptionPolicy enabled="1" />
<runtime>
<configuration>
有没有办法对Azure worker角色做同样的事情?我们试图将其放置在角色项目的app.config中,但这并没有起作用(因为我们可能必须以某种方式将其放入WaWorkerHost.exe.config中)。
我们知道AppDomain.CurrentDomain.UnhandledException
和Application.SetUnhandledExceptionMode
以及如何在Windows Azure(Worker)角色中捕获未处理的异常,但这些都无法解决我们的问题。