91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-07-21 21:38:29 來源:億速云 閱讀:214 作者:chen 欄目:編程語言

本篇內容主要講解“如何利用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。

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

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

到此,相信大家對“如何利用WCF實現將服務器端的錯誤信息返回”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

wcf
AI

政和县| 普安县| 吉水县| 彰化市| 海伦市| 凤山县| 福海县| 杂多县| 溆浦县| 湛江市| 临江市| 视频| 香格里拉县| 宿迁市| 大同县| 商水县| 巩留县| 烟台市| 科技| 石狮市| 江北区| 策勒县| 桦甸市| 台湾省| 临泉县| 普宁市| 吉首市| 汝城县| 富民县| 靖边县| 同德县| 临漳县| 德安县| 虎林市| 温州市| 桦川县| 佛教| 琼中| 锦屏县| 连云港市| 霍邱县|