Web.config配置customErrors mode为Off后依然不显示具体错误的可能原因。

  有时候我们的网站程序在本地运行没有问题,但在上传到远程服务器后则报错。这就需要我们了解具体错误,但IIS默认只显示统一的运行时错误,想要知道具体错误就需要配置Web.config中customErrors mode选项为Off。不过有时候customErrors标签是被包裹在注释中的,这种情况下怎么修改都不会起作用。

  如果是用编辑器打开Web.config,因为有代码颜色区分,很容易发现这个问题。

    <authentication mode="Windows"/>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>

  但如果远程服务器上没有安装相关编辑器,或者只有FTP权限,只能使用记事本编辑时就不太容易察觉了。

    <authentication mode="Windows"/>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>

  所以遇到这种问题时一定要仔细观察,排除各种可能性。

上一篇:wx:for类表渲染


下一篇:php mysqli 查询语句返回值类型