2011-12-20 70 views
0

在IIS7中我配置了自定義錯誤頁面(reportError.asp)來處理500狀態碼,響應操作設置爲「執行URL」。這個頁面(reportError.asp)通過調用COM庫來報告asp錯誤的詳細信息,而COM庫又檢索asp最後一個錯誤對象(以及其他類似請求,響應,會話)並生成全面的錯誤報告。所有在IIS6中正常工作。IIS7自定義錯誤頁面通過執行URL

在IIS7中生成的報告包含與reportError.asp頁面相關的詳細信息,而不是發生錯誤的原始頁面,即PATH_TRANSLATED服務器變量包含reportError.asp文件的路徑而不包含原始文件,錯誤編號和描述爲空。 它看起來像IIS7使用不同的方法將控制傳遞給自定義錯誤頁面。

我在生成的報告中注意到查詢字符串變量包含以下值:500; [這裏是原始頁面的完整URL] 這使我認爲IIS7會使一些內部重定向到自定義錯誤頁面並傳遞原始頁面作爲引用的查詢字符串,而在IIS6中則以不同的方式處理。

有沒有人知道IIS7這個領域的行爲與II6相比有什麼變化?

回答

0

ASP應用程序的自定義錯誤處理頁面必須設置爲500.100狀態碼。當僅設置了500個狀態碼時,該頁面被執行,但ASP錯誤的上下文不可用。