2010-11-16 84 views
4

我們正在將ASP Classic/ASP.NET應用程序從IIS 6遷移到IIS 7.5。在經典模式下大多數情況下運行得很好,但我們在IIS 7.5處理錯誤方面遇到了很多問題。我們使用經典的ASP頁面進行錯誤報告,我們在這裏捕獲錯誤信息,然後重定向到頁面以顯示錯誤。基於我們的測試Server.GetLastErrorRequest.ServerVariables("SCRIPT_NAME")從日誌頁面訪問時不返回錯誤的詳細信息和來源。是否有其他方法可以檢索IIS 7.5上的錯誤信息或執行日誌記錄?IIS 7.5經典ASP錯誤處理與IIS不同6

如果這有幫助,使用freb我們已經注意到IIS似乎生成一個全新的請求,然後開始執行我們的錯誤捕獲。

在此先感謝。

+1

除了下面顯示的答案,我們還需要在細粒度級別啓用「詳細」錯誤以支持某些情況。 – smaclell 2010-11-16 21:27:27

回答

3

@smaclell:請參閱http://dylanbeattie.blogspot.com/2008/12/fun-with-servergetlasterror-in-classic.html以瞭解您的潛在解決方案。

下面是文章的相關段落:

有Vista中的一個非常相似的已知錯誤,這是所謂固定在SP1 ,但它看起來像相同的修訂是無法在Windows 2008 的一部分服務器呢。但是,有一種解決方法 - 如果將自定義頁面的默認錯誤屬性(在IIS設置 - >錯誤頁面 - >編輯 功能設置...)中設置爲 ,則每當錯誤不成功時,IIS將調用 由明確配置的 狀態代碼處理程序處理(因此您的404等處理程序仍然可以) - 但由於某些原因, ,以這種方式處理錯誤意味着 Server.GetLastError()仍然正常工作。

+0

謝謝,我會試試看。我還會將我們已經嘗試過的東西添加到細節中。 – smaclell 2010-11-16 18:59:53

+1

這讓我的ASP錯誤繼續工作。我認爲我們仍然有一些asp.net內容的錯誤,這些錯誤以一種奇怪的方式解決,但這使我們更加接近。謝謝您的回答。 – smaclell 2010-11-16 20:56:33