Pergunta

Desenvolvemos um site que usa MVC, C#e jQuery. Em uma das minhas classes de controlador, estamos validando entradas do usuário e, se falhar, lançamos uma exceção que o parâmetro de erro do Ajax (também conhecido como opção) lida. (Usamos a interface do usuário do bloco para exibir a mensagem de erro. Blockui é um plug-in jQuery que bloqueia a tela e exibe uma caixa de mensagem.) (Sim, a mensagem tem texto sem caracteres engraçados ou sem sentido)

Ao executar o site localmente ou em um servidor, recebemos efeitos diferentes da exceção que está sendo lançada.

Localmente: a exceção adequada é exibida no Blockui. Servidor: A mensagem "Erro de tempo de execução" é exibida em vez da mensagem de exceção.

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

        throw new Exception(message);
    }
);

Consegui executar o site no servidor e o anexo remoto ao site. Enquanto a depuração, a exceção é lançada como deve, mas bloquear a interface do usuário, mostra o erro de tempo de execução.

Alguma ideia?

Foi útil?

Solução

Por padrão, os aplicativos da Web ASP.NET ocultarão erros de máquinas remotas que acessam o site e retornarão apenas o 'erro de tempo de execução' genérico. O ASP.NET mostrará apenas mensagens de erro específicas do aplicativo quando o site for acessado localmente (ou seja, se o servidor de aplicativos ASP.NET estiver em execução em sua máquina de desenvolvimento local ou se você abrir um navegador da Web no servidor que hospeda a Web ASP.NET inscrição).

Para visualizar as mensagens geradas em um servidor remoto de um cliente local, adicione o código a seguir ao seu arquivo web.config.

<configuration><system.web><customErrors mode="Off"/></system.web></configuration>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top