Пользовательский HTTP-ответ в ASP.NET Core 2.x Boilerplate - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь выбросить свои собственные исключения из AppService. Включая исключение, я хотел бы добавить свой собственный статус HTTP. Независимо от различных методов, указанных в Stackoverflow, а также в других источниках, я не могу переопределить стандартную функциональность ASP.NET Boilerplate. Некоторая помощь будет принята с благодарностью.

Большое спасибо!

1 Ответ

1 голос
/ 11 июня 2019

Вы можете создать подкласс AbpExceptionFilter (или реализовать свой собственный IExceptionFilter), а затем добавить его:

Шаг 1

services.AddMvc(options =>
{
    options.Filters.AddService(typeof(MyExceptionFilter), order: 1);
});

Шаг 2 Добавьте следующий код в класс XYZWebHostModule:

        public override void PreInitialize()
        {
            Configuration.ReplaceService(typeof(IExceptionFilter),
                () =>
                {
                    IocManager.Register<IExceptionFilter, MyExceptionFilter>(DependencyLifeStyle.Transient);
                });
        }

Шаг 3 Подкласс AbpExceptionFilter и переопределение GetStatusCode, а также HandleAndWrapException, в зависимости от ваших требований и реализаций

Ссылки

...