Отправить код ошибки IIS http без отправки трассировки стека

Отправить код ошибки IIS http без отправки трассировки стека

У меня есть API на основе ASP.NET, которому нужно отправлять коды ошибок http с сервера клиенту по мере их возникновения. Я не хочу отправлять пользователю все подробное сообщение об ошибке, содержащее трассировку стека, простое сообщение «Произошла ошибка» подойдет.

Поведение IIS по умолчанию — всегда отправлять http 500 нелокальным клиентам. Я дошел до того, что могу отправлять подробные сообщения об ошибках (с кодом ошибки); но можно ли как-то отключить подробности?

Если нет, можно ли добавить один пользовательский файл ошибок, который я смогу использовать для всех ошибок, и при этом отправлять клиенту конкретный код ошибки?

решение1

На самом деле у меня было наоборот с одним из моих собственных приложений MVC. Я получал пользовательские страницы ошибок вместо полной ошибки. Ваше приложение должно включать файл FilterConfig.cs в App_Start. Этот файл должен выглядеть следующим образом:

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }
}

Если customErrors включен, должно отображаться общее представление Error.cshtml (~/Views/Shared/Error.cshtml), которое можно настроить так, чтобы оно отображало столько информации об ошибке, сколько нужно.

НТН

Связанный контент