我有一个 WCF 服务,它在 Global.asax 中有以下代码:
protected void Application_Start(object sender, EventArgs e)
{
// Make sure that any exceptions that we don't handle at least get logged.
AppDomain.CurrentDomain.UnhandledException += LogUnhandledException;
}
private void LogUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Log.Error.LogException("UnhandledException", e.ExceptionObject as Exception);
}
这个想法是至少记录所有未经处理的异常。
但它似乎从来没有被调用过。我尝试在我的一个服务操作中进行除以零,它只是在遇到异常后停止服务。
int zero = 0;
int result = 100 / zero;
LogUnhandledException 方法永远不会被调用。
我已经在 IIS 和调试器中运行过这个。
如何让此事件适用于 WCF 服务?