欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

WCF行為擴(kuò)展怎么實(shí)現(xiàn)

這篇文章主要講解了“WCF行為擴(kuò)展怎么實(shí)現(xiàn)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“WCF行為擴(kuò)展怎么實(shí)現(xiàn)”吧!

創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有十多年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),近1000家客戶的共同信賴。提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)站開發(fā)、網(wǎng)站定制、友情鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)

WCF以其靈活的可擴(kuò)展架構(gòu)為開發(fā)者提供了方便,其中WCF行為擴(kuò)展或許是應(yīng)用中最為常見的。自定義對(duì)行為的擴(kuò)展并不復(fù)雜,但仍有許多細(xì)節(jié)需要注意。

在服務(wù)端,一般是對(duì)DispatchRuntime和DispatchOperation進(jìn)行擴(kuò)展,擴(kuò)展點(diǎn)包括了對(duì)參數(shù)和消息的檢查,以及操作調(diào)用程序,它們對(duì)應(yīng)的接口分別為IParameterInspector,IDispatchMessageInspector以及 IOperationInvoker。而在客戶端,則是對(duì)ClientRuntime和ClientOperation進(jìn)行擴(kuò)展,擴(kuò)展點(diǎn)包括對(duì)參數(shù)和消息的檢查,對(duì)應(yīng)的接口分別為IParameterInspector和IClientMessageInspector。這些接口類型均被定義在 System.ServiceModel.Dispatcher命名空間下,其中IParameterInspector接口可以同時(shí)作用在服務(wù)端和客戶端。

對(duì)這些接口的實(shí)現(xiàn),有點(diǎn)類似于AOP的實(shí)現(xiàn),可以對(duì)方法調(diào)用前和調(diào)用后注入一些額外的邏輯,所以通常會(huì)將這些擴(kuò)展稱為偵聽器。例如IParameterInspector接口,就定義了如下方法:

void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState);  object BeforeCall(string operationName, object[] inputs);

在調(diào)用服務(wù)對(duì)象的目標(biāo)方法前,會(huì)調(diào)用BeforeCall方法,而在調(diào)用后則會(huì)調(diào)用AfterCall方法。例如我們可在方法調(diào)用前檢驗(yàn)計(jì)算方法的參數(shù)是否小于0,如果小于0則拋出異常:

public class CalculatorParameterInspector:IParameterInspector  {  public void BeforeCall(string operationName, object[] inputs)  {  int x = inputs[0] as int;  int y = inputs[1] as int;  if (x <0 || y < 0)  {  throw new FaultException("The number can not be less than zero.");  }  return null;  }  public void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState)  {  //empty;  }  }

對(duì)消息的檢查區(qū)分了服務(wù)端和客戶端,接口方法根據(jù)消息傳遞的順序剛好相反[注]。我們可以通過(guò)接口方法對(duì)消息進(jìn)行處理,例如打印消息的Header:

public class PrintMessageInterceptor : IDispatchMessageInspector  {  #region IDispatchMessageInspector Members   public object AfterReceiveRequest(ref System.ServiceModel.Channels.Message request, IClientChannel channel, InstanceContext instanceContext)  {  MessageBuffer buffer = request.CreateBufferedCopy(Int32.MaxValue);  request = buffer.CreateMessage();   Console.WriteLine("After Receive Request:");  foreach (MessageHeader header in request.Headers)  {  Console.WriteLine(header);  }  Console.WriteLine(new string('*', 20));  return null;  }   public void BeforeSendReply(ref System.ServiceModel.Channels.Message reply, object correlationState)  {  MessageBuffer buffer = reply.CreateBufferedCopy(Int32.MaxValue);  reply = buffer.CreateMessage();   Console.WriteLine("Before Send Request:");  foreach (MessageHeader header in reply.Headers)  {  Console.WriteLine(header);  }  Console.WriteLine(new string('*', 20));  }   #endregion

感謝各位的閱讀,以上就是“WCF行為擴(kuò)展怎么實(shí)現(xiàn)”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)WCF行為擴(kuò)展怎么實(shí)現(xiàn)這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)頁(yè)名稱:WCF行為擴(kuò)展怎么實(shí)現(xiàn)
網(wǎng)頁(yè)地址:http://aaarwkj.com/article48/ijpjhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
亚洲国产午夜精品不卡| 国产亚洲超级97免费视频| 欧美精品激情在线不卡| 深夜毛片一区二区三区| av 一区二区三区av| va精品人妻一区二区三区| 欧美日韩免费高清视视频| 日本欧美国产一区二区| 人妻少妇亚洲精品视频| 亚洲a∨乱码一区二区三区蜜臀| 亚洲精品尤物福利在线一区| 中文字幕乱码高清欧美日韩| 成人精品亚洲一区二区| 亚洲乱码一区二区三区人妇| 国产亚洲欧美另类网爆| 日本高清视频免费一区| 欧美男女精品一区二区三区| 日本精品在线小视频| 午夜看片福利欧美熟女| 人妻有码系列中文字幕专区| 日本韩国三级视频在线观看| 九九九热在线观看视频| 国产原创剧情免费观看av| 婷婷国产综合一区二区三区| 91精品在线观看第一页| 日本午夜诱惑在线观看| 久久96国产精品久久秘臀| 粉嫩av蜜臀一区二区三区| 国产免费播放一区二区三区| 日韩黄色成人免费片子| 老色鬼久久亚洲av综合| 国产精品99久久久久久| 日韩精品在线不卡一区| 亚洲精品中文字幕日本乱码| 亚洲精品尤物福利视频| 极品人妻少妇精品一区二区| 国产日韩精品在线视频| 99麻豆久久久精品国产| 日本精品视频免费网| 国产av剧情免费在线观看| 久久99久久精品视频国产|