Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.0k views
in Technique[技术] by (71.8m points)

asp.net - IIS custom errors not showing custom error page

I have custom error pages setup on an ASP.NET website.

There is one error that is not showing a custom error page, and just showing the usual yellow ASP.NET error page. If custom errors are turned on it shows "Server error in / application" / "Runtime error", but if custom errors are off it shows "validation of viewstate mac failed" error.

The relevant parts of my web.config are:

<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" />

To trap for this error do I have to use a different status code or substatuscode or is there something else?

NB. Server 2008 R2, IIS 7.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

After further research I see that this means that IIS is displaying the error rather than ASP.NET.

I changed the system.webServer part of my web.config so IIS can also use the custom error page and that has solved the problem.

<system.webServer>
  <httpErrors errorMode="Custom" existingResponse="Replace">
    <remove statusCode="500" subStatusCode="-1" />
    <error statusCode="500" subStatusCode="-1" responseMode="ExecuteURL" path="/500.aspx" />
  </httpErrors>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...