日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
常見WCF異常問題處理方案

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

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

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

在最簡單的情況下,我們可以使用空FaultException(它只包含一個string字符串,稱為錯誤原因),如下所示:

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

當然,我們可以定義強類型的WCF異常信息,并在方法上運用FaultContractAttribute來指定它,如下所示:

 
 
  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(m);  
  24. }  
  25. returna/b;  
  26. }  
  27. }  

注意:不能用XmlSerializer來序列化Fault相關的對象實例,即使在其上使用了XmlSerializerFormatAttribute屬性。


當前題目:常見WCF異常問題處理方案
文章URL:http://m.5511xx.com/article/dpgiecg.html