天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

WCF基本異常處理模式[中篇]

  通過WCF基本的異常處理模式[上篇], 我們知道了:在默認的情況下,服務端在執行某個服務操作時拋出的異常(在這里指非FaultException異常),其相關的錯誤信息僅僅限于服務端可見,并不會被WCF傳遞到客戶端;如果將開啟了IncludeExceptionDetailInFaults的ServiceDebug服務行為通過聲明(通過在服務類型上應用ServiceBehaviorAttrite特性)或者配置的方式應用到相應的服務上,異常相關的所有細節信息將會原封不動地向客戶端傳送。

  這兩種方式體現了兩種極端的異常傳播(Exception Propagation)機制,對于基于服務操作執行過程中拋出的異常的錯誤細節,要么完全對客戶端屏蔽,要么全部暴露于客戶端。在真正通過WCF來架構我們的分布式系統中,我們往往需要一種折中的異常傳播機制:自定義服務端異常信息。這樣既可以讓客戶端得到一個易于理解的錯誤信息,又在一定程度上避免了一些敏感信息的泄露。

  一、 通過FaultException直接指定錯誤信息

  對于執行服務操作中拋出的異常,如果服務的定義者僅僅希望服務的調用者得到一段自定義的錯誤信息文本(字符串),我們要做的實際上很簡單:在服務操作中直接拋出一個FaultException異常,該異常對象通過以字符串形式體現的自定義錯誤信息創建。下面的代碼中,CalculaorService的Divide方式在指定的時候對第二參數進行了驗證,如果為零則創建一個FaultException,并指定錯誤信息(“被除數y不能為零!”)。

   1: using System.ServiceModel;
   2: using Artech.WcfServices.Contracts;
   3: namespace Artech.WcfServices.Services
   4: {
   5:     [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
   6:     public class CalculatorService : ICalculator
   7:     {
   8:         public int Divide(int x, int y)
   9:         {
  10:             if (0 == y)
  11:             {
  12:                 throw new FaultException("被除數y不能為零!");
  13:             }
  14:             return x / y;
  15:         }
  16:     }
  17: }

NET技術WCF基本異常處理模式[中篇],轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 中国农民真实bbwbbw | 亚洲高清无码在线 视频 | 久久久精品日本一区二区三区 | 成年AV动漫| jiucao在线观看精品 | 久久人人爽人人片AV人成 | 青草影院内射中出高潮-百度 | 亚洲欧洲日本无在线码播放 | 亚洲欧美日韩另类精品一区二区三区 | MELODY在线播放无删减 | 免费可以看污动画软件 | 晓雪老师我要进你里面好爽 | 芭乐草莓樱桃丝瓜18岁大全 | 99久久久久精品国产免费麻豆 | 亚洲欲色欲色XXXXX在线AV | 久久午夜一区二区 | 中文字幕 日韩 无码 在线 | 人人插人人射 | 女人高潮被爽到呻吟在线观看 | 含羞草影院AE在线观看 | 国产精品乱人无码伦AV在线A | 男人插曲女人下生免费大全 | 亚洲精品免播放器在线观看 | 久久学生精品国产自在拍 | 麻豆啊传媒app黄版破解免费 | 国产人妻人伦精品1国产 | 一级毛片免费在线播放 | 野花日本大全免费高清完整版 | 国产亚洲精品久久综合阿香 | 女人 我狠狠疼你 | 99re热视频这里只有精品 | 2224x最新网站 | 爽爽窝窝午夜精品一区二区 | 久久AV喷吹AV高潮欧美 | 精品视频中文字幕 | 亚洲国产中文字幕在线视频综合 | 学校捏奶揉下面污文h | 伊人久久大香线蕉综合bd高清 | 久久国产露脸老熟女熟69 | 噜噜噜狠狠夜夜躁 | 蜜臀久久99精品久久久久久做爰 |