日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

添加引用方式抛出和捕获干净的WebService异常

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 添加引用方式抛出和捕获干净的WebService异常 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載:http://www.cnblogs.com/ahdung/p/3953431.html

說明:【干凈】指的是客戶端在捕獲WebService(下稱WS)拋出的異常時,得到的ex.Message就是WS方法中拋出的異常消息,不含任何“雜質”。

前提:你對WS有編寫權。就是說如果你調的是別人寫的WS,那么也許只能通過字符串處理的方式才能得到干凈的ex.Message。

?

先看示例:

- WS方法:

/// <summary>
/// 測試WS拋異常
/// </summary> /// <param name="isSoapEx">為true就拋出SoapException,否則拋出Exception</param> /// <param name="errMsg">自定義異常消息</param> [WebMethod] public string Test(bool isSoapEx, string errMsg) { throw isSoapEx ? new SoapException(errMsg, SoapException.ServerFaultCode) : new Exception(errMsg); }

- 客戶端調用:

?

可以看到,如果WS拋出的是Exception,客戶端得到的ex.Message就是含有“雜質”的,所以得到干凈異常消息的要訣之一就是:

WS要拋出SoapException異常。

這就是為什么說你要有對WS的編寫權,因為別人的WS如果拋的不是SoapException,你就會得到先天含有雜質的ex.Message,需要經過一定加工才行。

剛剛說的是要訣之一,那就是說即便WS拋的是SoapException,也有可能得到不干凈的ex.Message,如圖:

這是由ASP.NET程序的【自定義錯誤消息】設定為“Off”引起的,把WS的web.config中的configuration\system.web\customErrors節點的mode屬性設為“On”或“RemoteOnly”即可。如圖:

?

所以,總結一下,以我目前所知,要想在客戶端得到干凈的ex.Message,要訣有二:

1、WS要把異常封裝為SoapException再拋出

2、WS的【自定義錯誤消息】不能設為Off

轉載于:https://www.cnblogs.com/51net/p/4431757.html

總結

以上是生活随笔為你收集整理的添加引用方式抛出和捕获干净的WebService异常的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。