Назад | Перейти на главную страницу

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

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

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

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

На самом деле у меня было наоборот с одним из моих собственных приложений 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), которое вы можете настроить так, чтобы отображать столько или меньше информации об ошибке, сколько захотите.

HTH