自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

常見(jiàn)WCF異常問(wèn)題處理方案

開(kāi)發(fā) 后端
文章總結(jié)了關(guān)于WCF異常處理的幾個(gè)方法,例如:我們可以使用空FaultException(它只包含一個(gè)string字符串,稱(chēng)為錯(cuò)誤原因)。

對(duì)于WCF也學(xué)習(xí)了一段時(shí)間,但是就是一直沒(méi)有好好學(xué)一下,但是我對(duì)它的興趣還是很大的,我覺(jué)得這個(gè)設(shè)計(jì)真是太好了,它可以統(tǒng)一 windows下的通信方式,而且僅僅通過(guò)改一下配置文件就可以改變通信方式,它是微軟對(duì)SOA的一種架構(gòu)設(shè)計(jì),可以好好學(xué)一下。

#T#dotnet3.0是在 dotnet2.0的基礎(chǔ)上加了幾個(gè)功能塊,WCF、WF、WPF、CardSpace,對(duì)于WCF說(shuō)起來(lái)也很好理它的概念,首先有服務(wù)器端程,再有就是服務(wù)器端程序宿主,最后是客戶端程序。在WCF中,如果沒(méi)有指定,服務(wù)端的WCF異常不會(huì)傳遞到客戶端,如:在等于0時(shí),客戶端根本不知道異常的原因據(jù),也即"Divsionbyzero!"WCF異常信息不會(huì)傳到客戶端。

  1. [ServiceContract]  
  2. publicclassCalculatorService  
  3. ...{  
  4. [OperationContract]  
  5. intDivide(inta,intb)  
  6. ...{  
  7. if(b==0)thrownewException(“Divisionbyzero!”);  
  8. returna/b;  
  9. }  

在最簡(jiǎn)單的情況下,我們可以使用空FaultException(它只包含一個(gè)string字符串,稱(chēng)為錯(cuò)誤原因),如下所示:

  1. [ServiceContract]  
  2. publicclassCalculatorService  
  3. ...{  
  4. [OperationContract]  
  5. intDivide(inta,intb)  
  6. ...{  
  7. if(b==0)thrownewFaultException(“Divisionbyzero!”);  
  8. returna/b;  
  9. }  

當(dāng)然,我們可以定義強(qiáng)類(lèi)型的WCF異常信息,并在方法上運(yùn)用FaultContractAttribute來(lái)指定它,如下所示:

  1. [DataContract]  
  2. publicclassMathFault  
  3. ...{  
  4. [DataMember]  
  5. publicstringoperation;  
  6.  
  7. [DataMember]  
  8. publicstringdescription;  
  9. }  
  10.  
  11. [ServiceContract]  
  12. publicclassCalculatorService  
  13. ...{  
  14. [FaultContract(typeof(MathFault))]  
  15. [OperationContract]  
  16. intDivide(inta,intb)  
  17. ...{  
  18. if(b==0)  
  19. ...{  
  20. MathFaultm=newMathFault();  
  21. m.operation=”/”;  
  22. m.description=”Divisionbyzero!”;  
  23. thrownewFaultException<MathFault>(m);  
  24. }  
  25. returna/b;  
  26. }  
  27. }  

注意:不能用XmlSerializer來(lái)序列化Fault相關(guān)的對(duì)象實(shí)例,即使在其上使用了XmlSerializerFormatAttribute屬性。

責(zé)任編輯:田樹(shù) 來(lái)源: 博客
相關(guān)推薦

2009-11-06 15:25:25

WCF異常

2010-02-22 13:35:03

WCF異常處理

2009-11-09 10:10:13

WCF異常

2010-02-24 12:41:58

WCF異常處理

2010-02-24 14:05:08

WCF openati

2010-02-26 15:46:48

Silverlight

2010-02-25 14:53:44

WCF調(diào)用服務(wù)異常

2019-08-29 14:30:16

代碼開(kāi)發(fā)工具

2009-06-30 16:03:00

異常Java

2009-12-07 15:50:27

WCF文件

2009-08-06 15:35:34

C# Web Serv

2009-12-22 16:03:03

WCF異常

2022-06-21 13:48:30

Redis緩存

2024-08-28 08:54:54

2010-02-23 17:23:26

Python異常處理

2015-04-24 10:29:31

OpenStackCloudFoundrPaaS

2009-12-07 18:38:16

WCF異常

2024-05-24 10:56:24

PythonURL代碼

2009-12-04 17:56:18

WCF 服務(wù)測(cè)試

2010-02-23 17:49:56

WCF傳輸大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)