Envie o código de erro HTTP do IIS sem enviar o stacktrace

1

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

O comportamento padrão do IIS é enviar sempre HTTP 500 para clientes não locais. Cheguei a ponto de ser capaz de enviar mensagens de erro detalhadas (com o código de erro); mas é possível desativar os detalhes de alguma forma?

Se não, é possível adicionar um arquivo de erro personalizado que eu possa usar para todos os erros e ainda enviar o código de erro específico para o cliente?

    
por bjelleklang 02.10.2015 / 11:03

1 resposta

0

Eu realmente 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 maneira:

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

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

HTH

    
por 19.10.2015 / 11:24