我在ASP.NET网站上设置了自定义错误页面.
有一个错误没有显示自定义错误页面,只显示通常的黄色ASP.NET错误页面.如果启用了自定义错误,则会显示“服务器错误/应用程序”/“运行时错误”,但如果自定义错误已关闭,则会显示“viewstate mac failed验证失败”错误.
我的web.config的相关部分是:
<system.web> <compilation debug="false" targetFramework="4.0" /> <customErrors mode="On" redirectMode="ResponseRewrite"> <error statusCode="404" redirect="/404.aspx" /> <error statusCode="500" redirect="/500.aspx" /> </customErrors> <system.webServer> <httpErrors errorMode="DetailedLocalOnly" />
要捕获此错误,我是否必须使用不同的状态代码或子代码或者还有其他什么?
NB. Server 2008 R2,IIS 7.
解决方法
经过进一步研究后,我发现这意味着IIS正在显示错误而不是ASP.NET.
我更改了web.config的system.webServer部分,因此IIS也可以使用自定义错误页面并解决了问题.
<system.webServer> <httpErrors errorMode="Custom" existingResponse="Replace"> <remove statusCode="500" subStatusCode="-1" /> <error statusCode="500" subStatusCode="-1" responseMode="ExecuteURL" path="/500.aspx" /> </httpErrors>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。