<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      在REST WCF中使用HTTP Header進(jìn)行數(shù)據(jù)交互

        我們知道,在HTTP協(xié)議的報文頭Header中存放著許多信息。如果你讀過老A的《通過添加HTTP Header實現(xiàn)上下文數(shù)據(jù)在WCF的自動傳遞》,那你一定知道如何通過底層的擴(kuò)展來實現(xiàn)如何在REST WCF中使用HTTP Header來進(jìn)行數(shù)據(jù)交互。這對于大家更多的了解WCF的底層機(jī)制有很大的幫助作用。
        竊以為:在實際的REST WC應(yīng)用中,想通過Header頭來實現(xiàn)數(shù)據(jù)交互不用那么麻煩。MicroSoft在它所提供的庫中就已經(jīng)為我們封裝好了一些接口,可以很容易的讓我們實現(xiàn)這一功能。

        HTTP Header報文頭可以在Server與Client之間傳遞很多數(shù)據(jù)。我們可以獲取這些數(shù)據(jù)然后進(jìn)行相應(yīng)的操作。如:根據(jù)Server可以根據(jù)Client發(fā)送過來的Header信息判斷Client是否合法等這些非業(yè)務(wù)邏輯的操作。下面就簡單介紹如何使用現(xiàn)有的庫在Client與REST WCF服務(wù)中實現(xiàn)HTTP Header數(shù)據(jù)交互。
        在WebClient、HttpWebRequest中也有Header的接口函數(shù),來操作Header。如下圖:
        本文以使用HttpClient類為例進(jìn)行說明。
        1、將Header信息添加到Http請求之中:

      HttpClient client = new HttpClient();
      client.DefaultHeaders.Add("clientName", "ClientA");
      

        2、服務(wù)端獲取Header頭信息。

        我們知道在REST WCF中,我們是通過WebOperationContext.Current獲取當(dāng)前的上下文操作的。通過Reflector看看WebOperationContext:
      它里面的IncomingRequest、IncomingResponse、OutgoingRequest、OutgoingResponse就有是Client發(fā)送過來的請求信息,或者Server發(fā)回給Client的輸出請求、相應(yīng)信息。如下圖:

      圖1

      圖2

        我們可以通過他們來獲取HTTP中的Header信息。

        如上圖,通過IncomingRequest、IncomingResponse、OutgoingRequest、OutgoingResponse獲取到的Header類型都是WebHeaderCollection集合。遍歷結(jié)合,我們便能獲取到Header中的各種信息了。
        獲取Header信息的方法:

      WebHeaderCollection headerCollection = WebOperationContext.Current.IncomingRequest.Headers;
      foreach (string item in headerCollection)
      {
        string value = headerCollection.Get(item);
      }

        在REST服務(wù)中,我們能獲取到Header信息,如下圖:

         

        這樣,我們便能通過獲取到key來獲取對應(yīng)的value信息作出相應(yīng)的處理了。

      后記:獲取Header信息后進(jìn)而進(jìn)行相關(guān)業(yè)務(wù)邏輯操作。這符合AOP的思想。但是在我熟悉的AOP框架Spring.Net、Unity中,都是獲取到注入對象然后調(diào)用相應(yīng)的方法時進(jìn)行攔截。類似在REST 服務(wù)中,通過模擬HTTP請求的方式來訪問相應(yīng)的接口,沒有找到一種途徑來實現(xiàn)AOP。望有經(jīng)驗的朋友能給個建議。謝謝!

      代碼和上節(jié)一樣,知識在相應(yīng)的操作時候加上Header信息、獲取Header信息。這里就不重復(fù)給出了。

      posted @ 2011-11-23 18:42  tyb1222  閱讀(7977)  評論(8)    收藏  舉報
      主站蜘蛛池模板: 最新国产精品拍自在线观看| 天天拍夜夜添久久精品大| 国产精自产拍久久久久久蜜| 精品国产成人一区二区| 我要看亚洲黄色太黄一级黄| 亚洲高清WWW色好看美女| 67194熟妇在线观看线路| 亚洲av综合av一区| 国产影片AV级毛片特别刺激| 4399理论片午午伦夜理片| 超清无码一区二区三区| av天堂午夜精品一区| 和静县| 久视频久免费视频久免费| 亚洲精品日韩精品久久| 十八禁午夜福利免费网站| 国产精品毛片在线看不卡| 制服丝袜国产精品| 国产91小视频在线观看| 青草视频在线观看视频| 九九热免费公开视频在线| 欧美极品色午夜在线视频| 少妇午夜啪爽嗷嗷叫视频| 亚洲欧洲国产综合aⅴ无码| 久久99精品久久久久久青青| 成人免费视频一区二区三区| 巴彦淖尔市| 日韩中文字幕精品人妻| 国产乱子影视频上线免费观看| 野花社区www视频日本| 无码人妻日韩一区日韩二区| 一本一本久久a久久综合精品| 亚洲高清国产成人精品久久| 国产一区二区波多野结衣| 国产日韩一区二区在线| 国产无套内射又大又猛又粗又爽 | 国产成人av性色在线影院| 久久不见久久见免费视频| 欧洲免费一区二区三区视频| 少妇爽到爆视频网站免费| 丰满熟妇乱又伦在线无码视频|