Ошибка диспетчера исключений в веб-приложении - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть веб-приложение asp.net, которое содержит несколько служб WCF. Создавая виртуальный каталог, я делаю эти службы доступными в IIS. В целях ведения журнала я использую библиотеку Enterprise, чтобы помещать исключения в журнал событий Windows. Мой метод Application_Start в Global.asax.cs выглядит так:

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. Удаление и воссоздание виртуальной страницы веб-приложения.

По-прежнему не действует.

Буду признателен за любые предложения.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...