簡體   English   中英

Wcf異常處理

[英]Wcf exception handling

我注意到,例如,如果您執行拋出新的InvalidCastException,則客戶端上的通道狀態出現故障。 但是如果拋出新的FaultException,則會打開客戶端的通道狀態。

由於好奇心,人們為什么會對通道進行故障而對另一方沒有故障的原因是什么?

FaultException是WCF中的一個特例。 這意味着表明服務端發生的某些事情是錯誤的,但與此同時,並不是通道的錯誤。 這是有道理的,因為您可以使用FaultContractAttribute將此信息嵌入到合同中,以揭示合同中可能出現的情況。

其他例外在WS世界中並不是真正可以翻譯的。 例外是一種特定於技術的抽象,每個技術堆棧都有不同的抽象表示(或者在某些情況下,根本沒有抽象)。

話雖這么說,當在服務器端拋出故障異常的異常時,它被WCF運行時視為災難性的,並且通道必須出現故障,因為不知道您是否可以繼續。

但是,使用FaultException,它意味着您對拋出它的原因以及底層通道是否受到影響有一些先見之明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM