Pregunta

Hemos desarrollado un sitio web que utiliza MVC, C # y jQuery. En una de mis clases de controlador estamos validando entradas del usuario y si falla, lanzamos una excepción que maneja el parámetro de error Ajax (también conocido como opción). (Usamos Block UI para mostrar el mensaje de error. BlockUI es un complemento jQuery que bloquea la pantalla y muestra un cuadro de mensaje). (Sí, el mensaje tiene texto sin caracteres divertidos o sin sentido)

Al ejecutar el sitio web localmente o en un servidor, recibimos diferentes efectos de la excepción que se produce.

Localmente: la excepción adecuada se muestra en BlockUI. Servidor: el mensaje "Error de tiempo de ejecución" se muestra en lugar del mensaje de excepción.

print(  
    public ActionResult FailUpdateStatus(string id)
    {
        string message = Request.Form["message"];

        throw new Exception(message);
    }
);

He podido ejecutar el sitio web en el servidor y adjuntarlo de forma remota. Mientras se depura, la excepción se produce como debería pero la IU de bloque muestra el error de tiempo de ejecución.

¿Alguna idea?

¿Fue útil?

Solución

De manera predeterminada, las aplicaciones web ASP.NET ocultarán los errores de las máquinas remotas que acceden al sitio y solo devolverán el 'Error de tiempo de ejecución' genérico. ASP.NET solo mostrará mensajes de error específicos de la aplicación cuando se acceda localmente al sitio (es decir, si el servidor de aplicaciones ASP.NET se está ejecutando en su máquina de desarrollo local, o si abre un navegador web en el servidor que aloja la web ASP.NET aplicación).

Para ver los mensajes generados en un servidor remoto desde un cliente local, agregue el siguiente código a su archivo web.config.

<configuration><system.web><customErrors mode="Off"/></system.web></configuration>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top