精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C# Web Service異常處理的兩個常見問題

開發 后端
創建用戶異常和Web Service的異常處理的問題是C# Web Service異常處理的兩個常見問題,本文將向您介紹如何通過SoapExceptionHelper實現一致的異常處理。

在.Net中實現Web服務時,在Web服務接口中產生的任何用戶異常(非SoapException之外的異常)都被包裝為SoapException傳遞給客戶端,這使得難以采用通常的方式處理Web Service的異常。本文講述如何通過SoapExceptionHelper實現一致的異常處理。

C# Web Service異常處理問題

在.Net中實現Web服務時,Web服務接口中產生的任何用戶異常(非SoapException之外的異常)都被包裝為SoapException傳遞給客戶端 ,用戶錯誤信息放置在SoapException的Message屬性中。

下面的例子演示了一個SoapException封裝的用戶異常信息。WebMethod接口TestException代碼拋出一個InvalidOperationException:

  1. [WebMethod]   
  2. public void TestException() {   
  3. throw new InvalidOperationException  
  4. ("Invalid Operation.");   
  5. }   

WebMethod的客戶端將捕獲一個SoapException異常,Message消息如下:

其中Message消息包含一段“...-->[ 1 ]:[ 2 ] at ....”的信息,[1]為用戶異常類,[2]為用戶異常消息。而一個原始的SoapException(用new SoapException(...)的方式創建并拋出的異常)則沒有這些信息,下面是一個原始的SoapException消息:

遺憾的是,目前的SoapException并沒有提供更多直接的手段直接獲取原來的異常信息,唯一包含的用戶異常信息在Message字符串中,對于使用Web Service作為分布式機制的應用系統來說是非常不方便的,調用者無法捕獲原來的異常,難以獲取用戶友好的異常信息。同時,因為Web Service接口代理不再拋出原來的異常,應用的開發者需要考慮兩套完全不同的異常處理機制,帶來了程序結構的復雜性。

創建SoapException輔助類:SoapExceptionHelper 來解決C# Web Service異常處理

SoapExceptionHelper輔助類包含下列主要接口:

  1. IsUserException:是否是一個UserException   
  2. UserException:返回原始的UserException   
  3. Message:原始異常的錯誤消息。   
  4. 獲得原始的用戶異常類和異常消息   
  5. 通過正則表達式類我們可以獲得原始的用戶異常類和異常消息:   
  6.  
  7. ///    
  8. /// 讀取UserException信息。   
  9. /// 
  10.    
  11. private void ReadUserExceptionInfo() {   
  12. //match user exception class   
  13. System.Text.RegularExpressions.  
  14. MatchCollection mc = Regex.Matches  
  15. (soapException.Message, "---> ([^:]+):");   
  16. if (mc.Count >= 1) {   
  17. userExceptionClass = mc[0].Groups[1].Value;   
  18. //match user exception message   
  19. mc = Regex.Matches(soapException.  
  20. Message, "---> [^:]+:(.*)\n");   
  21. if (mc.Count > 0) UserExceptionMessage   
  22. = mc[0].Groups[1].Value;   
  23. }   
  24. }   
  25.  
  26. 創建用戶異常實例   
  27. UserException接口利用反射機制創建  
  28. 一個原來的Exception類實例:   
  29.  
  30. ... ...   
  31. Assembly callingAssemply = Assembly.  
  32. GetCallingAssembly();   
  33. Type exceptionType = GetExceptionType  
  34. (callingAssemply); //獲得用戶異常類型定義   
  35. Exception e = null;   
  36. try {   
  37. try {   
  38. e = Activator.CreateInstance(exceptionType,   
  39. new object[]{UserExceptionMessage},   
  40. nullas Exception;   
  41. }   
  42. catch {}   
  43. //if no exists constructor with message parameter,   
  44. use no parameters constructor.   
  45. if (e == null) e = Activator.CreateInstance  
  46. (exceptionType) as Exception;   
  47. }catch(Exception ex) {   
  48. throw new SoapExceptionHelperException  
  49. (userExceptionClass, ex);   
  50. }   
  51.  
  52. return e;   

創建用戶異常的問題

因為用戶異常可能定義在不同的集成塊中,SoapExceptionHelper可能無法知道它的位置,無法正確的獲取C# Web Service異常處理類型,如一個與SoapExceptionHelper所在集成塊和調用集成塊(CallingAssembly)不再同一個引用范圍內的異常類。SoapExceptionHelper如果無法創建原始異常的實例,就創建一個System.Exception對象實例。

為了創建真正的原始異常類,調用者可以在外部獲得實際的異常類型,并傳遞給SoapExceptionHelper,因為調用者可以明確的引用異常定義 所在的集成塊。示例如下:

  1. // 項目引用中引入異常定義所在的集成塊   
  2. ...   
  3. SoapExceptionHelper helper =   
  4. new SoapExceptionHelper(se);   
  5. Type type = Type.GetType(helper.  
  6. UserExceptionClass, "<異常類所在的集成塊>");   
  7. Exception e = helper.GetUserException(type);   
  8.  
  9. 如果外部沒有傳遞異常類型定義,  
  10. SoapExceptionHelper嘗試以以下順序獲取異常類型定義:   
  11. Executing Assembly   
  12. Calling Assembly   
  13. Referenced Assemblies (of Calling Assembly)   
  14. System.Exception   
  15. 使用SoapExceptionHelper   
  16. 返回用戶友好的消息   
  17. 使用SoapExceptionHelper顯示示例1中的錯誤消息:   
  18. try {   
  19. ... ... // call web method   
  20. } catch (SoapException se){   
  21. MessageBox.Show(new SoapExceptionHelper(se).  
  22. Message) ; //show "Invalid Operation." string   

【編輯推薦】

  1. C#中定義裝箱和拆箱詳解
  2. 淺談C#類型系統
  3. 三種不同的C#異常類型
  4. 詳細介紹C#編譯器
  5. C#異常機制的相關解釋
責任編輯:冰荷 來源: jpinw
相關推薦

2015-05-15 09:37:24

iOS開發爭議

2022-07-01 13:17:13

Docker

2009-08-20 15:38:50

C#建立Web Ser

2016-12-22 15:31:47

數據中心監控自動化警報

2009-08-11 13:27:22

C#創建Web Ser

2013-05-23 10:23:04

DebianDebian 7.0

2020-05-25 22:41:27

LoRaWAN物聯網技術物聯網

2009-06-15 17:05:03

C#基元類型

2009-08-05 18:28:05

C#異常處理

2009-11-05 12:45:25

WCF異常

2009-08-06 14:08:08

C#語言異常處理

2009-08-31 17:26:32

C#異常處理

2013-01-06 10:43:07

Linux集群

2009-08-12 16:37:22

C#變量類型轉換

2009-08-11 11:07:49

Java調用C# we

2019-09-25 14:48:03

區塊鏈以太坊比特幣

2014-08-25 10:24:01

Linux

2009-08-11 13:07:26

C#類庫中添加Web

2011-02-22 14:00:16

vsftpd

2015-11-16 09:12:40

android問題開發
點贊
收藏

51CTO技術棧公眾號

英国三级经典在线观看| 亚洲国产精品久久人人爱潘金莲| jlzzjlzz亚洲女人| 欧美一区二区三区公司| 欧美一级视频在线播放| 精品无人乱码| 国产精品白丝jk黑袜喷水| 78色国产精品| 蜜臀久久精品久久久用户群体| 精品三级av在线导航| 欧美三级日韩在线| 99在线观看视频免费| 国产精品一区二区三区四区色| 国产专区综合网| 欧美综合激情网| 国产女片a归国片aa| 欧美人与牛zoz0性行为| 欧美成人女星排名| 第四色婷婷基地| av剧情在线观看| 中文字幕一区二区三区在线观看 | 欧美精品99久久久| 精品国产乱码久久久久久果冻传媒| 欧美放荡的少妇| 在线综合+亚洲+欧美中文字幕| 在线观看日韩www视频免费| 韩国三级hd中文字幕有哪些| 欧美色999| 性欧美疯狂xxxxbbbb| 在线播放 亚洲| 国产玉足榨精视频在线观看| 高清日韩电视剧大全免费| 国产狼人综合免费视频| 国产精品免费精品一区| 国产精品观看| 久久人人爽人人爽爽久久| 成人性生交大免费看| 试看120秒一区二区三区| 欧美三电影在线| 少妇高清精品毛片在线视频| 国产精品186在线观看在线播放| 国产欧美一区二区精品久导航 | 91国内精品白嫩初高生| 欧美日韩在线免费| 极品粉嫩国产18尤物| 91亚洲天堂| 亚洲精选视频在线| 国产又粗又爽又黄的视频| 精品视频二区| 久久久欧美精品sm网站| 精品国产一区二区三区四区vr| av片免费播放| 国产真实乱对白精彩久久| 国产精品网站大全| 小泽玛利亚一区二区三区视频| 国产亚洲激情| 欧美中文在线视频| 欧美巨乳在线观看| 制服丝袜中文字幕第一页| yw.尤物在线精品视频| 91久久国产综合久久| 国产成人综合一区| 亚洲四虎影院| 欧美午夜精品久久久| 亚洲xxxx2d动漫1| 国产福利亚洲| 91精品国产综合久久久蜜臀粉嫩| 邪恶网站在线观看| 日韩成人在线一区| 91精品视频网| 第一页在线视频| 97久久超碰| 亚洲国产天堂网精品网站| 久久精品女同亚洲女同13| 红杏视频成人| 亚洲新声在线观看| 日韩欧美黄色网址| 综合在线一区| 久久久欧美一区二区| 欧美啪啪小视频| 日韩国产欧美三级| 91久久精品国产91久久| 午夜美女福利视频| 26uuu色噜噜精品一区| 欧美精彩一区二区三区| 77导航福利在线| 亚洲精选免费视频| 少妇av一区二区三区无码| 暖暖成人免费视频| 欧美日本乱大交xxxxx| 无码人妻丰满熟妇区毛片蜜桃精品 | 精品人妻一区二区三区日产乱码 | 51国偷自产一区二区三区| 免费av一级片| 国产精品乱码妇女bbbb| 国产一区二区网址| 国产精品第一第二| 国产乱码精品一区二区| av中文字幕亚洲| 色999五月色| 色呦呦呦在线观看| 色婷婷综合视频在线观看| 国产性生活一级片| 任我爽精品视频在线播放| 色妞久久福利网| 精品在线视频免费| 日本在线不卡视频| yellow视频在线观看一区二区| 男人的天堂在线免费视频| 中文字幕一区二区三区四区不卡 | 不卡的av一区| 精品三级久久久久久久电影聊斋| 亚洲美女免费视频| 成人在线激情网| 极品国产人妖chinesets亚洲人妖| 亚洲天堂一区二区三区| 精品一区在线观看视频| 久久精品人人| 亚洲伊人久久大香线蕉av| 第三区美女视频在线| 亚洲国产欧美在线人成| www.天天射.com| 清纯唯美亚洲经典中文字幕| 伦理中文字幕亚洲| 久久久久久久久久一级| av在线一区二区| 人妻无码一区二区三区四区| 国产69精品久久久久按摩| 亚洲黄色www| 黄色一级视频免费| 激情伊人五月天久久综合| 欧美日韩在线高清| 国产伦子伦对白在线播放观看| 884aa四虎影成人精品一区| x88av在线| 亚洲影视在线| 国产一区免费在线| 人妖欧美1区| 日韩欧美一区中文| 中文字幕资源站| 欧美一二三不卡| 久久视频免费| 久久香蕉频线观| 国产尤物在线观看| 国产精品高潮久久久久无| 日本久久久久久久久久久久| 亚洲人和日本人hd| 欧美一区二区.| 天天干,天天操,天天射| 亚洲国产乱码最新视频 | www污在线观看| 日韩精品一级| 欧美日韩成人免费| www.午夜激情| 樱花影视一区二区| av在线网站免费观看| 2023国产精品久久久精品双| 成人妇女免费播放久久久| 欧美性videos| 在线不卡中文字幕播放| 男人晚上看的视频| 国产麻豆日韩欧美久久| 午夜久久久久久久久久久| 午夜久久av| 久久久久久久久久久av| 人妻妺妺窝人体色www聚色窝| 亚洲不卡在线观看| 大乳护士喂奶hd| 蜜桃久久av| 色一情一乱一伦一区二区三欧美 | 9191在线播放| 欧美成va人片在线观看| 日本亚洲色大成网站www久久| 成人高清视频在线观看| 青青青免费在线| 少妇精品久久久一区二区三区 | 成人精品视频在线观看| 欧美另类极品videosbest最新版本| www.色亚洲| 午夜精品福利久久久| 日本aaa视频| 麻豆91精品视频| 国产一区一区三区| 精品三级av在线导航| 国产不卡在线观看| 韩国av网站在线| 亚洲国产天堂久久综合网| 欧美brazzers| 亚洲精品日韩综合观看成人91| 亚洲乱妇老熟女爽到高潮的片| 国产精品色网| 免费看啪啪网站| 久久超级碰碰| 国产精品日韩欧美综合| 欧美bbbxxxxx| 亚洲一二在线观看| 精品人妻一区二区三区麻豆91| 狠狠色狠狠色综合日日小说| 摸摸摸bbb毛毛毛片| 国产成人av影院| 无人在线观看的免费高清视频| 91精品国产成人观看| 精品一区久久久久久| 4438五月综合| 国产91色在线| 色婷婷av在线| 在线视频免费一区二区| 黄色小视频免费在线观看| 色婷婷国产精品| 免费又黄又爽又色的视频| 久久日韩精品一区二区五区| 婷婷中文字幕在线观看| 国产精品乱看| 国产精品8888| 热久久天天拍国产| 国产一区二区无遮挡| 综合久草视频| 国产精品久久久av| 美女在线视频免费| 欧美成人免费在线视频| 成人资源www网在线最新版| 欧美mv日韩mv| 国产一区二区三区四区视频| 日韩欧美有码在线| 国产真实乱偷精品视频| 亚洲少妇最新在线视频| 欧美成人另类视频| 91蝌蚪porny成人天涯| 国产成人av免费观看| 精品亚洲porn| 最新中文字幕2018| 日精品一区二区| 久久久久久久激情| 一区二区91| 黄色激情在线视频| 午夜精品av| 少妇熟女一区二区| 大色综合视频网站在线播放| 六十路精品视频| 农村少妇一区二区三区四区五区 | 欧美成人免费高清视频| 亚洲国产黄色| 高清欧美精品xxxxx| 欧美精品18| 精品少妇人妻av一区二区| 久久综合成人| 一本久道久久综合狠狠爱亚洲精品| 国精一区二区| 日韩欧美视频一区二区| 免费av一区二区三区四区| 久久综合一区| 亚洲精品亚洲人成在线| 免费一区二区三区| 亚洲综合图色| 色综合久久av| 成人精品视频| 波多野结衣三级在线| 999国产精品| 懂色av一区二区三区四区五区| 日韩欧美精品综合| 中文视频一区视频二区视频三区| 色一区二区三区四区| 一区二区三区|亚洲午夜| 999久久久精品国产| 一区二区三区av| 亚洲欧美文学| 97成人在线免费视频| 一区二区三区国产在线| aⅴ在线免费观看| 美女一区二区三区在线观看| 伊人国产在线视频| 国内精品在线播放| 亚洲成a人无码| 26uuu另类欧美| 在线观看亚洲大片短视频| 国产精品福利电影一区二区三区四区| 国产男女猛烈无遮挡在线喷水| 亚洲欧美精品午睡沙发| 国产第100页| 一本一道久久a久久精品| 18国产免费视频| 91精品国产综合久久精品性色| 韩国av免费在线观看| 日韩第一页在线| 91看片在线观看| 欧美老少配视频| 自拍一区在线观看| 国产日产久久高清欧美一区| 久久99成人| 免费国产在线精品一区二区三区| 日韩88av| 欧美视频在线观看视频| 日韩福利电影在线观看| 国产探花一区二区三区| 92国产精品观看| 免费在线观看a级片| 亚洲国产裸拍裸体视频在线观看乱了| 成人a v视频| 日韩精品一区二区三区swag| 四虎精品在永久在线观看| 日韩在线中文字幕| 在线黄色的网站| 91久久极品少妇xxxxⅹ软件| 亚洲人成亚洲精品| 欧美一二三不卡| 麻豆视频观看网址久久| 老熟妇精品一区二区三区| 国产精品久久久久9999吃药| 欧美一级视频免费观看| 欧美电影在线免费观看| 欧美孕妇孕交| 久久久久久国产精品久久| 国产成人精品一区二区三区免费| 国产精品区二区三区日本| 四季av一区二区凹凸精品| 国产网站免费在线观看| 国产精品亚洲视频| 国产精品一区二区亚洲| 一本久道久久综合中文字幕 | 国产精品18久久久久久久网站| 日韩人妻无码精品综合区| 亚洲资源中文字幕| 国产女人爽到高潮a毛片| 一区二区三区黄色| 中国色在线日|韩| 动漫3d精品一区二区三区| 亚洲国产日韩欧美在线| 一区二区成人网| 久久久久久久久久久久久夜| 久久久久久久黄色| 91精品国产一区二区三区| av在线电影观看| 国产成人精品视频在线| 美女视频免费精品| 亚洲国产精品无码av| 国产精品一区二区不卡| 91免费在线看片| 欧美亚日韩国产aⅴ精品中极品| 日韩一二三四| 992tv成人免费影院| 国产精品tv| 日本熟妇人妻xxxx| 丁香六月综合激情| 成年人av电影| 日韩欧美自拍偷拍| 1024在线播放| 亚洲xxx自由成熟| 欧美日韩国产色综合一二三四| 亚洲18在线看污www麻豆| 综合自拍亚洲综合图不卡区| 在线视频1卡二卡三卡| 中文字幕亚洲字幕| 日本午夜免费一区二区| 在线一区日本视频| 久久国产精品无码网站| 欧美性生给视频| 91精品国产综合久久香蕉的特点 | 亚洲欧洲韩国日本视频| 一区二区三区精彩视频| 中文字幕不卡av| 欧美jizz18| 2021国产视频| 成人精品一区二区三区四区| 国产第100页| 国产婷婷97碰碰久久人人蜜臀| 亚洲女同志freevdieo| 欧美高清性xxxxhd| 青青草97国产精品免费观看 | 欧美综合激情网| 欧美性感美女一区二区| 亚洲国产日韩欧美在线观看| 国产精品美女久久久久aⅴ| 国产精品午夜福利| 欧美日韩国产成人在线| 女人抽搐喷水高潮国产精品| 日韩欧美xxxx| 最新国产成人在线观看| 免费看av毛片| 欧美最近摘花xxxx摘花| 日韩一区三区| 美国黄色一级视频| 色婷婷av一区二区| 成人短视频在线观看| 国产精品免费一区二区三区观看| 国产一区成人| 亚洲天堂最新地址| 精品久久久久久久久久久院品网| 国产高清中文字幕在线| 午夜欧美性电影| 国产成人av电影在线| 精品久久久久久久久久久久久久久久 | 思思久久精品视频| 五月婷婷久久综合| 亚洲麻豆精品| 久久精品一二三区| 激情五月婷婷综合网| 精品成人av一区二区在线播放| 日韩亚洲欧美中文在线| 国产乱人伦丫前精品视频| 91看片在线免费观看|