Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

525
Vistas
¿Manejar el error personalizado usando la ruta predeterminada que no funciona en c# Webconfig?

En la aplicación, los errores del código de estado http se manejan a través de web.config.

He especificado el código de error http y la ruta respectiva para mostrar en caso de error de estado http

 <customErrors mode="On" redirectMode="ResponseRewrite" /> <httpErrors existingResponse="Replace" errorMode="Custom"> <clear/> <remove statusCode="404"/> <error statusCode="404" path="Themes\Patient6\Static\404.html" responseMode="File"/> <remove statusCode="404" subStatusCode="980"/> <error statusCode="404" subStatusCode="980" path="/patient.search/search/noresults" responseMode="ExecuteURL"/> <remove statusCode="410"/> <error statusCode="410" path="Themes\Patient6\Static\410.html" responseMode="File"/> <remove statusCode="410" subStatusCode="990"/> <error statusCode="410" subStatusCode="990" path="/forums/discuss/deleted" responseMode="ExecuteURL"/> <remove statusCode="500"/> <error statusCode="500" path="Themes\Patient6\Static\500.html" responseMode="File"/> <remove statusCode="403"/> <error statusCode="403" path="Themes\Patient6\Static\403.html" responseMode="File"/> </httpErrors>

El código anterior funciona bien para el código de estado dado en httperrors, pero para el otro error como 400, 502, el código no se maneja, por lo que muestra el error explícitamente.

Solución esperada:

¿Hay algún tipo de solución if-condition/Default-Path para mostrar un error personalizado para un código de estado dado y 500 para otro código de estado?

Intenté la siguiente solución:

 <customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="/error-500" />

Pero redirige a 500 para todos los códigos de estado de error que brindan información falsa para el usuario.

También probé esto:

 <httpErrors existingResponse="Replace" errorMode="Custom" defaultResponseMode="File" defaultPath="Themes\Patient6\Static\500.html">

Pero obteniendo el siguiente error para la línea anterior

 HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid.

Editar : ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

customErrors y httpErrors son dos cosas diferentes. Consulte aquí para obtener más información.

Su principal problema aquí es que está especificando páginas de error SOLO para esos códigos de error, y no especifica una página de error predeterminada para usar con ningún otro código de error. Como resultado, mostrará el error en lugar de una página de error personalizada.

Buscar en Google cómo hacer esto me llevó rápidamente a esta página de desbordamiento de pila , que tiene el siguiente código:

 <httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="ExecuteURL" defaultPath="/App/Error"> <!-- Do not include ~, this was my issue all long --> <clear/> <!-- so that IIS provided error pages are skipped --> <!-- add those which you like to provide a view of yours --> <error path="/App/Http404" responseMode="ExecuteURL" statusCode="404"/> <error path="/App/Http503" responseMode="ExecuteURL" statusCode="503"/> </httpErrors>

En términos de su código, este código a continuación debería funcionar, suponiendo que haya configurado una página de error predeterminada en Themes\Patient6\Static\error.html

 <httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="File" defaultPath="Themes\Patient6\Static\error.html"> <!-- Do not include ~ --> <clear/> <!-- so that IIS provided error pages are skipped --> <error statusCode="404" path="Themes\Patient6\Static\404.html" responseMode="File"/> <error statusCode="404" subStatusCode="980" path="/patient.search/search/noresults" responseMode="ExecuteURL"/> <error statusCode="410" path="Themes\Patient6\Static\410.html" responseMode="File"/> <error statusCode="410" subStatusCode="990" path="/forums/discuss/deleted" responseMode="ExecuteURL"/> <error statusCode="500" path="Themes\Patient6\Static\500.html" responseMode="File"/> <error statusCode="403" path="Themes\Patient6\Static\403.html" responseMode="File"/> </httpErrors>

Tampoco debería necesitar eliminar manualmente cada código de estado, borrar una vez en la parte superior debería ser suficiente.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda