我有一个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初始化被完全忽略了。
我尝试过的事情:
仍然没有效果。
任何建议,我将不胜感激。
谢谢。