2011-03-17 77 views
0

我使用ELMAH和Facebook的C#SDK(http://facebooksdk.codeplex.com/)ELMAH不存儲堆棧跟蹤當Facebook C#SDK拋出異常

ELMAH一直對我很好。但是,當Facebook C#SDK引發異常時,堆棧跟蹤不會被記錄。

例如,當我拋出這個異常:

throw new FacebookApiException("this is a test"); 

堆棧跟蹤正確顯示在我的瀏覽器(與調試啓用,當然),但ELMAH並不保存。取而代之的是,這是我ELMAH的「AllXml」一欄裏面看到數據庫:

detail="(Unknown) this is a test" 

通常,AllXml列的詳細屬性將包含完整的堆棧跟蹤。你知道這是爲什麼嗎?我如何讓Elmah記錄堆棧跟蹤?

在此先感謝。

+0

您是否正在使用MVC句柄錯誤屬性?請記住,elmah只記錄未處理的異常,並且您需要做一些管理來記錄處理的異常。 – WorldIsRound 2011-03-17 20:43:10

回答

1

我相信這是由我們對FacebookApiException.ToString倍率引起的()。我刪除了覆蓋。如果你想要,下載當前的來源,並試試看。讓我知道它是否解決了這個問題。

+0

謝謝Nathan。這正是問題所在。我現在獲得了存儲在Elmah中的完整堆棧跟蹤。順便說一句,我必須修改Beta 5.06的源代碼來做這個測試,因爲只要我在Change Set 4927605c3ca6中拋出一個FacebookApiException()(例如甚至像拋出新的FacebookApiException(「這是一個測試」)),我有一個stackoverlow例外。 – 2011-03-20 05:15:32

+0

太好了。我會檢查出另一個錯誤,我昨晚在那裏把代碼扔到那裏,所以它可能需要清理。 – 2011-03-20 16:05:00

0

如果您使用的是HandleError屬性,您會發現這個問題非常有用。

ELMAH and HandleError

+0

謝謝。我沒有使用HandleError屬性,但我會看看這個問題。 – 2011-03-18 15:09:28