背景
调试MVC项目时,在VS中本地运行没有任何问题,但是当在IIS部署后,访问出错:错误提示只有一句话“抱歉,处理您的请求时出错。”也没有具体的错误信息,也没有黄页错误。后来发现这个错误页面原来是新建MVC项目中默认的错误页面。
解决
既然我们知道了这是默认的错误页面,我们想要获得详细的错误信息就需要在Web.config配置文件中将错误信息打开。
在
<system.web></system.web>
中间添加
<customErrors mode=”Off”>
。
<customErrors> 节点
Web.config中的<customErrors> 节点用来自定义一些错误信息。这个节点有
mode
(必选属性)和
defaultRedirect
(可选属性)两个属性。
mode
mode属性分别有三个可能值,分别为On、Off、RemoteOnly
On :表示在本地和远程用户都会看到自定义错误信息。
Off :禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。
RemoteOnly :表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。
defaultRedirect
defaultRedirect属性表示应用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。
<error> 节点
<customErrors> 节点下除了两个属性外,还包含有<error> 节点,这个节点主要是用于根据服务器的HTTP错误状态代码而重定向到我们自定义的错误页面,注意要使<error>子节点下的配置生效,必须将<customErrors> 节点的Mode属性设置为“On”。
例如:我们常见的404错误,如果用户访问的页面不存在就跳转到404.html页面
<customErrors mode="On" >
<error statusCode="404" redirect="404.html" />;
</customErrors>