У меня есть 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