.NET 4 上的REST 框架
兩種常見的分布式應(yīng)用架構(gòu)風(fēng)格包括:DO(分布式對象)、RPC(遠(yuǎn)程過程調(diào)用)。這兩種架構(gòu)風(fēng)格在企業(yè)應(yīng)用中得到了廣泛的應(yīng)
用,然而,Web架構(gòu)的設(shè)計(jì)者們卻有意避免采用這兩種架構(gòu)風(fēng)格。主要的原因是運(yùn)行Web應(yīng)用的互聯(lián)網(wǎng)環(huán)境,與運(yùn)行企業(yè)應(yīng)用的企業(yè)內(nèi)網(wǎng)環(huán)境有很大的差別。
那么,互聯(lián)網(wǎng)環(huán)境有哪些獨(dú)有的特點(diǎn)呢?
1. 可伸縮性要求難以預(yù)測和無法控制:一個Web應(yīng)用的并發(fā)訪問量,是開發(fā)者難以預(yù)測和無法控制的。
2. 安全性要求難以預(yù)測和無法控制:一個Web應(yīng)用所接受的請求格式,是開發(fā)者難以預(yù)測和無法控制的,有可能出現(xiàn)大量惡意構(gòu)造的請求格式。
3. 松耦合至關(guān)重要:因?yàn)榇嬖谥罅慨悩?gòu)的系統(tǒng),必須要追求最大限度的松耦合。
4. 簡單性至關(guān)重要:不可引入復(fù)雜的編程模型,必須降低開發(fā)者開發(fā)Web應(yīng)用的門檻。
軟件應(yīng)用所處的運(yùn)行環(huán)境會對其架構(gòu)設(shè)計(jì)產(chǎn)生巨大影響。設(shè)計(jì)軟件應(yīng)用的架構(gòu),一定要深入考慮軟件所處的運(yùn)行環(huán)境。脫離開軟件所處的運(yùn)行環(huán)境,比較不同架構(gòu)
之間的優(yōu)劣是沒有意義的。
REST這種架構(gòu)風(fēng)格,正是為面向互聯(lián)網(wǎng)的Web應(yīng)用量身定制的。它由一組架構(gòu)約束組成:
1. 客戶-服務(wù)器
2. 無狀態(tài)
3. 緩存
4. 統(tǒng)一接口
5. 分層系統(tǒng)
6. 按需代碼(可選)
上述內(nèi)容來自《REST實(shí)戰(zhàn)》譯者序。.NET上的分布式應(yīng)用架構(gòu)風(fēng)格從WCF開始統(tǒng)一了Remoting,SOAP,以及對REST的支持。現(xiàn)在我們來看下最新的.NET平臺上都有哪些REST框架和工具庫:
WCF WebHttp Services in .NET 4 :WCF 3.5開始支持REST,實(shí)現(xiàn)方式上還是RPC 方式,Windows Communication Foundation (WCF)Web HTTP 編程模型可以向非 SOAP 終結(jié)點(diǎn)公開 WCF 服務(wù)操作。文檔地址 http://msdn.microsoft.com/zh-cn/library/bb412169.aspx?
ASP.NET?Web Api:這是完全按照HTTP模型實(shí)現(xiàn)的REST,目前還處于預(yù)覽版,ASP.NET Web API允許開發(fā)人員通過HTTP開放他們的應(yīng)用程序、數(shù)據(jù)和服務(wù)。這允許開發(fā)人員可以充分利用HTTP作為應(yīng)用程序的協(xié)議,應(yīng)用程序可以和豐富的客戶端進(jìn)行交互,不僅僅是瀏覽器、移動設(shè)備、桌面應(yīng)用還是其他的后端服務(wù)。 ?
Open Rasta:OpenRasta是一個基于MIT協(xié)議開源的支持.NET 2.0以上的Rest開發(fā)框架,重點(diǎn)圍繞這資源和HTTP方法開發(fā)的REST框架。文檔地址:https://github.com/openrasta/openrasta-stable/wiki?
Service Stack :是一個高性能的開源 .NET/Mono? REST服務(wù)框架 地址:http://www.servicestack.net/
RestSharp :這只是一個支持WindowsPhone,Mono for Android, MonoTouch跨平臺的Rest 客戶端開發(fā)庫。地址:http://restsharp.org/
Hammock是個免費(fèi)開源的框架,托管在github上 對網(wǎng)絡(luò)操作進(jìn)行了很好的封裝,包含OAuth。地址:https://github.com/danielcrenna/hammock
轉(zhuǎn)載于:https://www.cnblogs.com/shanyou/archive/2012/01/15/2323049.html
總結(jié)
以上是生活随笔為你收集整理的.NET 4 上的REST 框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个偷偷修改工作目录的幕后黑手
- 下一篇: ASP.NET操作文件大全