2010-10-29 14 views
0

這是否曾發生在您身上?ASP.NET開發人員機器的自定義錯誤

您正坐在您的開發機器上,並且您意識到部署的asp.net應用程序中未處理的異常。您訪問部署的Web應用程序。您無法在瀏覽器中看到異常詳細信息,因爲自定義錯誤僅設置爲遠程。所以你必須登錄到Web服務器並引發異常。

是否有內置的方式來關閉某些遠程客戶端的自定義錯誤?

這隻發生在我沒有實現更好的解決方案的簡單應用程序中,例如ELMAH。但是,它發生時仍然很煩人。

+2

您的解決方案應該與任何生產服務器相同 - 更好的日誌記錄。 – 2010-10-29 19:16:12

+0

這麼有用的評論! – 2010-10-29 19:19:37

+0

是的,的確如此。 – 2010-10-29 22:21:03

回答

1

2件事。其一,如果您沒有實施複雜的Exception \ Logging Policy,請查看Microsoft Patterns and Practices Enterprise Library - http://entlib.codeplex.com/ - 這可能有助於追蹤軟件中的錯誤。

其次,在最起碼,把一些日誌記錄在您的Global.asax代碼背後的Application_Error事件中,您可以通過使用一些獲取的最後一個未處理的異常,如:

Dim lastError As Exception = Server.GetLastError.GetBaseException 

然後你就可以添加自定義錯誤頁到你的web.config並且不用擔心從黃色屏幕調試,但仍然捕獲任何錯誤細節。

HTH

+0

entlib只是讓事情變得如此簡單.http://www.davidhayden.com/blog/dave/archive/2006/02/15/2802.aspx你可以查看這個鏈接,在這裏ewitkows所說的內容已經被進一步解釋了。 – shashi 2010-10-29 20:00:38

0

您可以使用遠程調試。

This MSDN Article討論了ASP.NET的調試策略。如果向下滾動到「本地和遠程調試」標題,則會提供一些有關您的信息以及指向遠程調試文章的鏈接。

基本上你可以在Visual Studio中調試遠程服務器。沒有推薦用於生產服務器,但確保登臺服務器。