Reputation: 10752
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.
Upvotes: 10
Views: 18907
Reputation: 10752
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>
Upvotes: 21