成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用WCF實現將服務器端的錯誤信息返回

開發 后端
默認WCF是不允許將服務器的異常信息返回到客戶端的,那么今天我們將談談如何實現服務器端的錯誤信息返回。

  最近在園子里轉看到有人對如題的實現有疑問,今天有時間就寫了項目把實現簡單的講解一下,如果你是牛逼人物那就繞道吧,哥不想浪費你的時間,現在開始:

  默認WCF是不允許將服務器的異常信息返回到客戶端的(主要是客戶端不一定能夠識別clr的異常信息),如果你有這方面的需求可以通過SOAP的Fault包的形式返回異常信息,首先要做的就是設置配置文件,將默認不允許返回錯誤信息的設置改成如下:

  <behaviors>

  <serviceBehaviors>

  <behavior name="Bhc">

  <serviceMetadata httpGetEnabled="true"/>

  <serviceDebug includeExceptionDetailInFaults="true"/><!--如此設置會將服務器端得錯誤返回到客戶端,實際的發佈中需要將此項目設置成false-->

  </behavior>

  </serviceBehaviors>

  </behaviors>

  然后定義承載信息的DataContract

  [DataContract]

  publicclassErro

  {

  [DataMember]

  publicstringMessage

  {

  get;set;

  }

  }

  上邊的代碼 就不用介紹了 就是一個數據合同

  //服務契約定義了可以遠程調用的對象和方法//定義服務契約

  [XmlSerializerFormat]//定義序列化的方式

  [ServiceContract(SessionMode = SessionMode.Allowed)]//SessionMode = SessionMode.Allowed:設置此屬性意味著可以使用會話Binding

  publicinterfaceIActionMain

  {

  //定義操作契約

  [DataContractFormat]//定義序列化的方式

  [OperationContract]

  stringGetName(stringpInc);

  [FaultContract(typeof(ErroInfo.Erro))]//如果有異常就返回下面定義的數據契約的結構數據

  [FaultContract(typeof(DivideByZeroException))]

  [OperationContract]

  DataCollection Return();

  }

  在方法中定義屬性,這里有兩種實現

  1.使用自定義的錯誤類型

  [FaultContract(typeof(ErroInfo.Erro))]//如果有異常就返回下面定義的數據契約的結構數據

  2.使用系統的異常類型 [FaultContract(typeof(DivideByZeroException))]

  在契約實現類中將異常拋出

  thrownewFaultException<DivideByZeroException>(newDivideByZeroException("這個是自定義的異常!"));

  到此服務器端的實現完成。

  下邊看客戶端的實現

  配置文件不需要特殊設置,調用函數,抓取異常,代碼如下:

  try

  {

  returnthis.Channel.Return();

  }

  catch(FaultException<ErroInfo.Erro> exception)

  {

  thrownewException(exception.Detail.Message);

  }

  catch(FaultException<DivideByZeroException> exception)

  {

  thrownewException(exception.Detail.Message);

  }

  FaultException<ErroInfo.Erro> exception:這個抓取的是定義的異常類型。

  FaultException<DivideByZeroException> exception:這個抓取的是系統異常類型

  注意這里獲取異常的信息的方法是exception.Detail.Message,而不是Message。

原文鏈接:http://www.cnblogs.com/Ref-tian/archive/2011/12/21/2295602.html

【編輯推薦】

  1. 5月***超有趣的免費jQuery插件推薦
  2. 從零開始學習jQuery之管理jQuery包裝集
  3. jQuery性能指標和調優
  4. 手把手教你jQuery jqPlot畫圖插件
  5. 從零開始學習jQuery之***的選擇器
責任編輯:彭凡 來源: 博客園
相關推薦

2012-12-27 15:36:19

Android開發錯誤處理

2011-02-21 13:41:20

Postfix問題錯誤

2024-09-03 16:38:11

2010-03-10 14:34:52

Python異常處理

2013-12-25 11:01:16

JavaScript

2014-01-15 10:06:30

vFlash

2012-10-15 13:40:15

IBMdw

2009-04-20 09:09:46

PHP錯誤信息錯誤代碼

2023-08-27 08:57:31

2023-10-27 11:27:28

2015-10-27 09:40:31

TCPIP網絡協議

2010-08-27 10:23:26

DHCP服務器

2017-12-06 22:29:53

2015-11-04 14:14:56

HTTP網絡協議

2011-06-07 16:01:46

Android 服務器 數據交互

2014-11-14 11:03:56

微軟.NET

2023-06-30 08:00:00

漏洞網絡安全SSTI

2023-11-27 00:39:46

2024-04-29 14:45:20

ChatGPT

2017-10-10 14:38:35

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美在线观看 | 中文字幕一区二区在线观看 | 老妇激情毛片免费 | 亚洲视频 欧美视频 | 中文字幕亚洲一区 | 一区二区三区四区国产精品 | 欧美国产一区二区 | 国产成人福利视频在线观看 | 影音先锋中文字幕在线观看 | 一区二区三区高清 | 欧美精品久久一区 | 男人天堂网址 | 最新日韩精品 | 久久久免费观看视频 | 久久久国产一区二区 | 欧美精品一区二区三区在线播放 | 做a视频 | 精品网站999 | 久久99久久99精品免视看婷婷 | 婷婷久久精品一区二区 | 亚洲国产视频一区二区 | 日本不卡在线视频 | 国产在线看片 | 精品1区2区 | 国产一区欧美 | 国产一区二区日韩 | 欧美日韩综合一区 | 午夜精品一区二区三区在线视频 | 日韩国产精品一区二区三区 | 亚洲一区二区视频在线观看 | 一本一道久久a久久精品蜜桃 | 在线免费观看黄色av | 自拍偷拍亚洲欧美 | 亚洲欧美第一视频 | 国产成人99久久亚洲综合精品 | 国产精品久久久久久中文字 | 国产色婷婷久久99精品91 | 亚洲一区二区电影网 | 在线成人一区 | 日日日视频| 中文字幕人成乱码在线观看 |