Обработка ошибки слоя Facade с помощью Custom Exception Handler в net core 3.1 - PullRequest
0 голосов
/ 05 февраля 2020

Веб-интерфейс состоит из трех слоев, таких как Контроллер-> Фасад-> Хранилище. Большинство фасадных методов вызываются контроллером, кроме немногих. Эти несколько методов напрямую вызываются в методе Configure метода Startup.cs, как показано ниже:

serviceProvider.GetService<IElasticSearchFacade>().IndexAllMenuData();

Для обработки пользовательских исключений у меня есть CustomExceptionHandler, реализующий OnException IExceptionFilter в проекте веб-API. Он зарегистрирован для обработки исключения, генерируемого фасадом через контроллер, в ConfigureServices файла startup.cs следующим образом:

var option = services.AddControllers(
            config =>
            {
                config.Filters.Add(typeof(CustomExceptionHandler));
            });

Проблема заключается в том, что любое исключение, выбрасываемое методом Facade, вызываемым контроллером, обрабатывается указанным выше пользовательским обработчиком. , но не методом фасада, вызываемым Startup.cs. Любая работа вокруг?

...