WCFREST工作總結(jié)(一)_第1頁
WCFREST工作總結(jié)(一)_第2頁
WCFREST工作總結(jié)(一)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、wcf rest工作總結(jié)(一) 一.環(huán)境準(zhǔn)備 使用wcf rest可以先下載一個模版并大致預(yù)覽 下載好這個模版后新建工程選擇這個模版會默認幫我們生成一個crud的代碼新手朋友可以用這個快速熟悉下rest風(fēng)格的wcf. 這這里還給我們提供了一個很方便的功能help只需在我們的效勞后面加上help就能顯示效勞的詳情與介紹了 二.搭建rest wcf效勞 1.接口的實現(xiàn) 當(dāng)我們的請求為get時一般用來獲取數(shù)據(jù)時使用webget而增加修改刪除那么使用webinvoke里面的method來決定使用post或put等這里要注意下 method里的一定要為大寫post put等否那么會出現(xiàn)錯誤405 405

2、不允許此方法對于請求所標(biāo)識的資源,不允許使用請求行中所指定的方法。 我們在這里還可以通過responseformat與requestformat來指定接受的參數(shù)與返回的參數(shù)格式 2.類繼承接口這里先貼一局部最根底的crud 3.global里注冊路由 用過mvc的朋友是不是發(fā)現(xiàn)這樣寫完后非常的像mvc呢 三.實現(xiàn)調(diào)用效勞 1.實現(xiàn)get效勞 很簡單我們可以直接通過瀏覽器輸入即可獲得state為1的所有數(shù)據(jù)以json格式傳輸過來 rest風(fēng)格的wcf使得我們不用再像以前一樣客戶端添加效勞引用了沒有了wsdl簡潔了許多效率也提高了很多使得我們訪問更容易 rest由于沒有了代理而是發(fā)送請求我們的客戶

3、端可以是js訪問如果是jquery只需$.get即可發(fā)送請求這里我主要說下c#的訪問方式 通過webclient方式這個類封裝的比擬好調(diào)用起來簡單但由于封裝的過多實現(xiàn)一些功能時那么不太容易 通過webrequest方式這個那么比擬靈活 上面兩個是經(jīng)常用到的兩個類這里再推薦給大家一個是wcf工具里的其中一個專門用來訪問rest效勞也非常的簡單 通過httpclient這個也是微軟開發(fā)的工具類而且在最新的. 4.5里集成了進去 通過上面三個任意其中一個就可以實現(xiàn)提交了 但是這里有一個問題我們以前有代理類通過調(diào)用方法得到代理類可是現(xiàn)在呢我們沒有類我們得到的是一串json格式的數(shù)據(jù)我們怎么把他變成像類

4、一樣的方便操作呢? 比方a公司發(fā)布了rest wcf效勞數(shù)據(jù)格式j(luò)son公司b要調(diào)用a公司的效勞以前ws或wcf都有代理可以生成代理類現(xiàn)在卻得到的是json數(shù)據(jù)而我們還沒有要反序列化的實體類 比方我現(xiàn)在想把得到的數(shù)據(jù)像表格一樣的展示出來 有兩種方法 1.對照json數(shù)據(jù)客戶端新建個類然后通過反序列化把json反序列化為類對象 這樣比擬麻煩類少還可以要是多了那么需要新建很多實體類更關(guān)鍵的是效勞端的實體類更新了以前wcf或ws更新下效勞即可而現(xiàn)在還要更新客戶端實體類豈不是很麻煩? 所以推薦用下面的方法 2.將json反序列話為dynamic類型 json轉(zhuǎn)換為dynamic類型起初我用的是第三方的

5、json.經(jīng)過嘗試發(fā)現(xiàn)再把json轉(zhuǎn)換為集合類型時總是出錯如果有朋友知道怎么弄還望告知下 后來經(jīng)過嘗試我采用了微軟自帶的javascriptserializer下面展示代碼 使用方法很簡單經(jīng)過不管是序列化集合還是單個的都沒有問題這個時間也會正常顯示沒有問題結(jié)果上面的代碼就可以把接受的json類型展示為一個table了 好了這個問題解決了可以上三種方式發(fā)送get請求了這個畢竟簡單大家直接看代碼 可以看到第一個和第三個都是非常簡單的這里要注意的是要注意編碼問題因為傳遞的有中文會有亂碼問題 所以要注意編碼問題再第二個里可以通過得到response.contenttype先得到編碼這樣就可以自動識別編碼格式了 再說下httpclient這個真正發(fā)送請求是在message.ensurestatusissuessful();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論