I have a C# web forms ASP.NET 4.0 web application that uses Routing for URLs for some reason custom errors defined in the system.web section of my web.config is entirely ign
Instead of using:
Response.TrySkipIisCustomErrors = true;
Use this in Web.config:
<httpErrors errorMode="Custom" existingResponse="Replace">
You can pass through IIS7 default error messages in two ways One is to set response.TrySkipIisCustomErrors = true
response.TrySkipIisCustomErrors = true;
response.Status = response.Status;
For some reason, TrySkipIisCustomErrors is not honoured if you don't set response.Status.
The other is to set existingResponse to "PassThrough" in web.config
<configuration>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
</configuration>
But this will ignore all set IIS custom error pages.
To disable the IIS error messages you have to set
Response.TrySkipIisCustomErrors = true;
in your error page. After that, your Error messages should show without problem.