我有一個WCF服務用於爲我的項目提交錯誤。數據類的代碼片段:序列化異常WCF + Silverlight
Private _exception As Exception
<DataMember()> _
Public Property Exception As Exception
Get
Return _exception
End Get
Set(ByVal value As Exception)
_exception = value
End Set
End Property
我有一個使用WCF服務送回家任何錯誤,如果當他們出現的Silverlight應用程序。這是我與測試錯誤:
Dim i As Integer = 5
i = i/0
被SL被敲打與此消息的問題:
System.ServiceModel.CommunicationException是由用戶代碼 消息未處理=有一個嘗試序列化參數時出錯:錯誤。 InnerException消息是'Type'System.OverflowException'與數據契約名稱'OverflowException:http://schemas.datacontract.org/2004/07/System'不是預期的。將任何未知的靜態類型添加到已知類型列表中 - 例如,使用KnownTypeAttribute屬性或將它們添加到傳遞給DataContractSerializer的已知類型列表中。有關更多詳細信息,請參閱InnerException。
是否有一些技巧來獲得一個通用的.NET異常(任何InnerException)序列化正確?除了例外情況,我沒有做任何事情 - 這只是一個簡單的例外
感謝您的任何幫助。
感謝您的回覆。 MSDN說WCF可以序列化一個通用的System.Exception ... – Bram 2010-06-05 05:15:07
@Bram:鏈接,請。 – 2010-06-05 07:04:55
如果WCF堆棧中冒出一個異常,WCF將返回一個包裝System.Exception的錯誤(帶消息,陷入錯誤)。這並不意味着你可以「奇蹟般」地序列化任何異常。 – Alex 2010-06-05 15:19:06