In IIS7 I’ve got configured custom error page (reportError.asp) to handle 500 status code, the response action is set to “Execute URL”. This page (reportError.asp) reports details of asp error by calling COM library which in turn retrieves asp last error object (and other like request, response, session) and generates a comprehensive error report. All works correctly in IIS6.
In IIS7 generated report contains details related to reportError.asp page, not to the original page where error occurred i.e. PATH_TRANSLATED server variable contains path to reportError.asp file not to the original file, error numbers and descriptions are blank.
It looks like IIS7 uses different method of passing control to the custom error page.
What I noticed in the generated report that the query string variable contains following value: 500;[here full URL of the original page]
which make me think that IIS7 makes some internal Redirect to custom error page and passes original page as a query string for reference while in IIS6 it was handled in a different way.
Does anyone know of the change in behaviour in this area of IIS7 as compared to II6?
The custom error handling page for ASP applications has to be set for 500.100 status code. When set only for 500 status code the page is executed, but context of ASP error is not available.