一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

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

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

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

  對于執(zhí)行服務操作中拋出的異常,如果服務的定義者僅僅希望服務的調(diào)用者得到一段自定義的錯誤信息文本(字符串),我們要做的實際上很簡單:在服務操作中直接拋出一個FaultException異常,該異常對象通過以字符串形式體現(xiàn)的自定義錯誤信息創(chuàng)建。下面的代碼中,CalculaorService的Divide方式在指定的時候?qū)Φ诙?shù)進行了驗證,如果為零則創(chuàng)建一個FaultException,并指定錯誤信息(“被除數(shù)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("被除數(shù)y不能為零!");
  13:             }
  14:             return x / y;
  15:         }
  16:     }
  17: }

NET技術(shù)WCF基本異常處理模式[中篇],轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 亚洲另类图片小说 | 天天综合网天天综合色不卡 | 中文字幕在线视频第一页 | 一级一级女人18毛片 | 亚洲综合一区二区三区四区 | 亚洲欧洲视频在线 | 国产情侣小视频 | 欧美五月激情 | 视频国产在线 | 伊人久久大香线蕉综合高清 | 欧美日韩国产一区二区三区不卡 | 亚欧美色| 人人爱天天做夜夜爽2020麻豆 | 成人深爱网 | 国内色综合精品视频在线 | 91啦国产| 色网址在线 | 激情美女网站 | 91成人影院未满十八勿入 | 国产精品久久久久久 | 五月婷婷丁香久久 | 羞羞色男人的天堂伊人久久 | 色婷婷精品大全在线视频 | 午夜影院日韩 | 激情五月五月婷婷 | 7777精品伊人久久久大香线蕉 | 国产精品第一页第一页 | 91探花福利精品国产自产在线 | 国产不卡福利 | 91色在线观看国产 | 巨臀中文字幕一区二区翘臀 | 一级黄色网络 | 起碰97| 国产精品99久久免费观看 | 最新国产在线观看福利91 | 中国女人真人一级毛片 | 免费二级c片在线观看a | 中文字幕色 | 久青草国产手机视频免费观看 | 九九激情视频 | 成人免费动作大片黄在线 |