Enviar código de error http de IIS sin enviar stacktrace

Enviar código de error http de IIS sin enviar stacktrace

Tengo una API basada en ASP.NET que necesita enviar códigos de error http desde el servidor al cliente a medida que ocurren. Sin embargo, no deseo enviar al usuario el mensaje de error de stock detallado completo que contiene el seguimiento de la pila; bastará con un simple mensaje "Ocurrió un error".

El comportamiento predeterminado de IIS es enviar siempre http 500 a clientes no locales. Llegué tan lejos como para poder enviar mensajes de error detallados (con el código de error); ¿Pero es posible desactivar los detalles de alguna manera?

De lo contrario, ¿es posible agregar un archivo de error personalizado que pueda usar para todos los errores y aún así enviar el código de error específico al cliente?

Respuesta1

De hecho, tuve lo contrario con una de mis propias aplicaciones MVC. Recibía páginas de error personalizadas en lugar del error completo. Su aplicación debe incluir un archivo FilterConfig.cs en App_Start. Este archivo debería aparecer de la siguiente manera:

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

Cuando customErrors está activado, debería presentar la vista compartida Error.cshtml (~/Views/Shared/Error.cshtml) que puede personalizar para exponer tanta o tan poca información sobre el error como desee.

HT

información relacionada