Enviar código de erro http do IIS sem enviar stacktrace

Enviar código de erro http do IIS sem enviar stacktrace

Eu tenho uma API baseada em ASP.NET que precisa enviar códigos de erro http do servidor para o cliente conforme eles ocorrem. Não desejo enviar ao usuário toda a mensagem de erro de estoque detalhada contendo o stacktrace; uma simples mensagem "Ocorreu um erro" servirá.

O comportamento padrão do IIS é sempre enviar http 500 para clientes não locais. Consegui enviar mensagens de erro detalhadas (com o código de erro); mas é possível desabilitar os detalhes de alguma forma?

Caso contrário, é possível adicionar um arquivo de erro personalizado que possa usar para todos os erros e ainda enviar o código de erro específico ao cliente?

Responder1

Na verdade, tive o oposto com um dos meus próprios aplicativos MVC. Eu estava recebendo páginas de erro personalizadas em vez do erro completo. Seu aplicativo deve incluir um arquivo FilterConfig.cs no App_Start. Este arquivo deve aparecer da seguinte forma:

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

Quando customErrors está ativado, isso deve apresentar a visualização compartilhada Error.cshtml (~/Views/Shared/Error.cshtml) que você pode personalizar para expor quantas informações desejar sobre o erro.

HTH

informação relacionada