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

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

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

      WCF REST 工作總結(一)

      最近工作中學習使用了WCF REST,REST 有很多好處 高效 簡約  面向資源  而客戶端調用 也變得非常簡單。REST 入門的資料等 大家可以去網上找 這里主要分享下遇到的問題以及解決~

      一.環境準備

      使用WCF REST 可以先下載一個模版 并大致預覽

      下載好這個模版后  新建項目 選擇這個模版 會默認幫我們生成一個 CRUD 的代碼  新手朋友可以用這個快速熟悉下REST風格的WCF.

      這這里還給我們提供了一個很方便的功能 help  只需在我們的服務后面 加上help 就能顯示服務的詳情與介紹了

      二.搭建REST WCF服務

      1.接口的實現

      當我們的請求為 Get時  一般用來獲取數據時  使用[WebGet]  而 增加 修改 刪除 則使用[WebInvoke]  里面的Method 來決定使用POST 或PUT等 這里要注意下

      Method 里的一定要為大寫  POST PUT等  否則會出現 HTTP 錯誤 405 405 不允許此方法 對于請求所標識的資源,不允許使用請求行中所指定的方法。

      我們在這里 還可以通過 ResponseFormatRequestFormat 來指定接受的參數與返回的參數格式

      2.類繼承接口 這里先貼一部分 最基礎的CRUD

      3. Global 里注冊路由

      用過mvc的朋友  是不是發現這樣寫完后 非常的像mvc呢~

      三.實現調用服務

        1.實現get 服務

         很簡單  我們可以直接通過瀏覽器 輸入 http://localhost:55914/ITaskService/Tasks/State/1    即可獲得state為1的所有數據  以json格式傳輸過來

        rest 風格的wcf  使得我們不用再像以前一樣 客戶端 添加 服務引用了  沒有了wsdl  簡潔了許多 效率也提高了很多  使得我們訪問更容易

        REST 由于沒有了代理   而是發送請求   我們的客戶端可以是 js 訪問    如果是 jquery  只需$.get  即可發送請求   這里我主要說下C#的訪問方式 

        通過WebClient 方式  這個類封裝的比較好  調用起來簡單  但由于封裝的過多 實現一些功能時則不太容易

        通過WebRequest方式 這個則比較靈活

        上面兩個是經常用到的兩個類 這里再推薦給大家一個 是wcf工具里的其中一個 專門用來訪問 rest 服務 也非常的簡單

        通過HttpClient 這個也是微軟開發的工具類  而且在最新的 .net 4.5里 集成了進去

        通過上面三個任意其中一個就可以實現提交了

        但是 這里有一個問題 我們以前有代理類  通過調用方法 得到代理類 可是現在呢  我們沒有類  我們得到的是一串json 格式的數據 我們怎么把他變成像類一樣的 方便操作呢?

        比如 A公司發布了rest wcf服務 數據格式 json    公司B 要調用A公司的服務   以前ws 或wcf都有代理  可以生成代理類  現在卻得到的是json數據 而我們還沒有要反序列化的實體類

        比如 我現在想把得到的數據 像表格一樣的展示出來 

        有兩種方法

        1.對照json數據  客戶端新建個類 然后通過反序列化  把json 反序列化為類對象  

         這樣比較麻煩 類少還可以  要是多了 則需要新建很多實體類   更關鍵的是 服務端的實體類 更新了  以前WCF或ws 更新下服務即可 而現在 還要更新客戶端實體類豈不是很麻煩?

         所以推薦用下面的方法

        2.將json 反序列話為 dynamic 類型

          json 轉換為dynamic 類型   起初 我用的是 第三方的 json.net  經過嘗試 發現再把json 轉換為集合類型時 總是出錯  如果有朋友知道怎么弄 還望告知下

          后來經過嘗試 我采用了 微軟自帶的 JavaScriptSerializer  下面展示代碼

        

       使用方法很簡單 經過  不論是序列化 集合 還是單個的  都沒有問題 這個時間也會正常顯示 沒有問題~  結果上面的代碼  就可以把接受的json 類型 展示為一個 table了

       好了 這個問題解決了 可以上三種方式發送get請求了 這個畢竟簡單 大家直接看代碼 

      可以看到 第一個 和第三個 都是非常簡單的  這里要注意的是  要注意編碼問題 因為傳遞的有中文 會有亂碼問題

      所以要注意編碼問題  再第二個里 可以通過得到response.ContentType 先得到編碼  這樣就可以自動識別編碼格式了

      再說下HttpClient  這個真正發送請求  是在 message.EnsureStatusIsSuccessful();  這句話

      通過上面任意一種方法 我們都可以得到json  這樣再通過將json 反序列話為 dynamic 類型 就可以像有實體類一樣簡單的操作了~~

      今天先寫到這 

      下面講post 等提交數據 以及 原生流文件的上傳 下載 等

      最后 祝大家周末愉快 歡迎一起交流技術

      參考:

      http://blog.csdn.net/fangxinggood/article/details/6235662

      原文:

      http://www.rzrgm.cn/wlflovenet/archive/2011/10/28/WCFREST.html

      posted on 2011-10-29 10:17  wlf  閱讀(23417)  評論(19)    收藏  舉報

      主站蜘蛛池模板: 成人做受120秒试看试看视频| 亚洲区综合中文字幕日日| 国产青榴视频在线观看| 末发育娇小性色xxxxx视频| 亚洲男人天堂一级黄色片| 国产在线自拍一区二区三区| 色吊丝av熟女中文字幕| 5D肉蒲团之性战奶水欧美| 人妻 日韩精品 中文字幕| 国产亚洲精品久久77777| 日韩av一区二区精品不卡| 国产精品免费久久久免费| 西西人体大胆444WWW| 成人做爰69片免费看网站野花| 国产成人高清在线重口视频| 亚洲 一区二区 在线| 98精品全国免费观看视频| a级亚洲片精品久久久久久久| 色熟妇人妻久久中文字幕| 亚洲欧美人成人让影院| 久久婷婷五月综合97色直播| 亚洲无人区一区二区三区| 欧美交a欧美精品喷水| 日本老熟女一二三区视频| 色欲aⅴ亚洲情无码av蜜桃| 国内自拍偷拍福利视频看看| 亚洲av日韩av综合在线观看| 猫咪社区免费资源在线观看| 少妇又爽又刺激视频| 激情综合网激情五月激情| 男人狂桶女人高潮嗷嗷| 诸暨市| 人人人爽人人爽人人av| 乌拉特前旗| 国产微拍一区二区三区四区| 国产成人一区二区三区免费| 亚洲日本va午夜蜜芽在线电影| 18禁动漫一区二区三区| 欧美性群另类交| 无套内内射视频网站| 国产亚洲精品一区二区不卡|