如果我讓我的異常Serializable像這樣article from msdn,那麼我的異常可以通過WCF序列化?可序列化的異常和WCF
1
A
回答
1
是的,你可以序列化異常並使用WCF返回它們。我寫了一個應用程序,WCF客戶端需要在服務器上發生真正的異常;不僅僅是一個高水平的故障。
下面是步驟來實現我們所做的:
1 - 聲明一個類EncodedException與單一字符串屬性
public class EncodedException
{
public string SerializedException {get;set;}
}
2 - 在您的服務合同增加,表明該屬性的服務可能會返回一個FaultException異常。
[ServiceContract()]
public class MyService
{
[OperationContract]
[FaultContract(typeof(EncodedException),
ProtectionLevel = ProtectionLevel.EncryptAndSign)]
public string Method1();
}
3 - 在您服務實現在所有的服務操作添加一個try/catch:
public void Method1()
{
try
{
// some code here
}
catch(Exception ex)
{
EncodedException encodedException = Helper.SerializeException(ex);
throw new FaulException<EncodedException>();
}
}
4 - 在您的客戶端代碼捕獲異常並解開它:
public void someMethod()
{
try
{
serviceClient.Method1();
}
catch(FaulException<EncodedException> ex)
{
Exception decodedException = Helper.DeserializeException(ex);
throw new decodedException();
}
}
5 - 編寫助手來序列化/反序列化異常。如果您還需要該部分的幫助,請告訴我。
我希望這會有所幫助。
0
我不明白爲什麼不這樣做,如果您已經成功創建了一個可以通過經典asmx序列化的對象,那麼它在WCF中會很好。
相關問題
- 1. 序列化異常WCF + Silverlight
- 2. WCF序列化異常 - NetDataContractSerializer
- 3. wcf調用System.Windows.Media.Media3D.Vector3d序列化的異常
- 4. WCF CFClientBase序列化Stackoverflow異常?
- 5. .NET 4.5.1 WCF序列化異常
- 6. drawable是不可序列化的異常
- 7. 序列化異常是可拋出的
- 8. 即使在提供DataContract和DataMember後,WCF - 序列化異常
- 9. 序列化異常
- 10. 序列化異常
- 11. 序列化異常
- 12. WCF序列化和反序列化
- 13. 序列化和反序列化與傑克遜異常
- 14. WCF - 由於循環引用導致的序列化異常
- 15. Wcf:反序列化操作中的異常
- 16. 如何攔截WCF中序列化期間發生的異常?
- 17. $ 1.class和$ 2.class不是jgroups中的可序列化異常
- 18. GWT 2.5.1和IntelliJ調試模式,可序列化的異常
- 19. NServiceBus IoC序列化異常
- 20. 序列化異常4.5
- 21. Web API2序列化異常
- 22. GWT反序列化異常
- 23. GWT序列化異常
- 24. DES序列化異常
- 25. GWT - RPC序列化異常
- 26. EastNetQ Json序列化異常
- 27. JIL反序列化異常
- 28. 異常反序列化JSON
- 29. Java序列化EOF異常
- 30. C#序列化異常
所以你可以直到我如何使用EntLib4.1來做到這一點 – BigOmar 2009-11-21 09:06:03