我们开发了一个使用MVC,C#和jQuery的网站。在我的一个控制器类中,我们验证来自用户的输入,如果失败,我们抛出Ajax错误参数(aka选项)处理的异常。 (我们使用Block UI来显示错误消息.BlockUI是一个jQuery plugIn,它阻止屏幕并显示一个消息框。) (是的,邮件中有文字,没有有趣的字符或无意义)
在本地或服务器上运行网站时,我们会从抛出的异常中获得不同的效果。
本地:BlockUI中显示正确的异常。 服务器:显示消息“运行时错误”而不是异常消息。
print(
public ActionResult FailUpdateStatus(string id)
{
string message = Request.Form["message"];
throw new Exception(message);
}
);
我已经能够在服务器上运行该网站并远程连接到该网站。虽然调试异常会被抛出,但阻止UI会显示运行时错误。
有什么想法吗?
答案 0 :(得分:2)
默认情况下,ASP.NET Web应用程序将隐藏访问该站点的远程计算机的错误,并且只返回通用的“运行时错误”。 ASP.NET将仅在本地访问站点时显示特定于应用程序的错误消息(即,如果ASP.NET应用程序服务器在本地开发计算机上运行,或者在托管ASP.NET Web的服务器上打开Web浏览器应用程序)。
要从本地客户端查看远程服务器上生成的消息,请将以下代码添加到web.config文件中。
<configuration><system.web><customErrors mode="Off"/></system.web></configuration>