Web应用程序中的异常管理器问题

时间:2019-04-25 20:12:19

标签: c# asp.net wcf iis enterprise-library

我有一个asp.net Web应用程序,其中包含一堆WCF服务。通过创建虚拟目录,我可以在IIS上使用这些服务。为了进行记录,我使用企业库将异常放入Windows事件日志中。我在Global.asax.cs中的Application_Start方法如下所示:

try
{
     // EnterpriseLibrary bootstrap
     IConfigurationSource configurationSource = ConfigurationSourceFactory.Create();

     LogWriterFactory logWriterFactory = new LogWriterFactory(configurationSource);
     Logger.SetLogWriter(logWriterFactory.Create(), false);

     ExceptionPolicyFactory factory = new ExceptionPolicyFactory(configurationSource);

     var exManager = factory.CreateManager();
     ExceptionPolicy.SetExceptionManager(exManager);
}
catch (Exception exc)
{
     EventLog.WriteEntry(
     "Server Logger Service",
     "An error occured while initializing EnterpriseLibrary \n" + exc.ToString(),
     EventLogEntryType.Error);
}    

没什么特别的,总是使用此代码,并且一切正常,但是最近我开始反复遇到以下问题-每当wcf服务方法引发异常时,它都不会正确记录。相反,我得到了

'System.InvalidOperationException: 'Must set an ExceptionManager in the 
ExceptionPolicy class using the SetExceptionManager method.''

看起来ExceptionManager初始化被完全忽略了。

我尝试过的事情:

  1. 重新启动IIS。
  2. 删除和重新创建Web应用程序虚拟页面。

仍然没有效果。

任何建议,我将不胜感激。

谢谢。

0 个答案:

没有答案