Настройка обработки исключений Блокировка приложений с помощью перехвата Unity и внедрение политик исключений

#c# #.net #exception-handling #enterprise-library #unity2.0

#c# #.net #обработка исключений #enterprise-библиотека #unity2.0

Вопрос:

Я пытаюсь настроить блок обработки исключений для своего приложения и хотел бы внедрить политики обработки исключений (определенные в файле конфигурации) в тот момент, когда я регистрирую модули и перехват с помощью unity на моей фабрике IoC.

На данный момент я просто регистрирую типы, настраиваю перехват и использую поведение исключений, подобное этому:

 container.AddNewExtension<Interception>();
container.RegisterType<INotificationService, NotificationService>(
     new TransientLifetimeManager(), new Interceptor<InterfaceInterceptor>(),
     new InterceptionBehavior<ExceptionBehavior>());
 

Затем я обрабатываю исключение в методе Invoke моего поведения исключения и применяю там политики следующим образом:

 exManager.HandleException(ex, policy);
 

Правильно ли это, есть ли какие-либо идеи или отзывы, и как я могу вводить политики при
настройке контейнера Unity?

Комментарии:

1. Это звучит как хороший подход. Очень похоже на реализацию управления исключениями, часть 1 (прокрутите вниз до ExceptionInterceptionBehavior).

2. Спасибо, Тузо. Это именно то, что я искал. Еще раз спасибо, что поделились.

Ответ №1:

Вы можете использовать функцию внедрения политики в корпоративной библиотеке и использовать обработчик обработки исключений: https://msdn.microsoft.com/en-us/library/Ff660909(v=PandP.20).aspx