實現RESTful服務的一種非常普遍的方法是利用ASP.NET MVC通過WCF實現這一點。RESTful服務:WCF與ASP.NET MVC
ASP.NET MVC具有出色的RESTful支持,通過靈活的URL路由和靈活的HTTP方法映射到控制器動作。
WCF 4.0現在對使用與ASP.NET MVC相同的ASP.NET路由機制實現RESTful服務具有出色的支持。
問題 您使用兩種方法中的任何一種創建RESTful服務和遇到的優點和缺點的經驗是什麼?
實現RESTful服務的一種非常普遍的方法是利用ASP.NET MVC通過WCF實現這一點。RESTful服務:WCF與ASP.NET MVC
ASP.NET MVC具有出色的RESTful支持,通過靈活的URL路由和靈活的HTTP方法映射到控制器動作。
WCF 4.0現在對使用與ASP.NET MVC相同的ASP.NET路由機制實現RESTful服務具有出色的支持。
問題 您使用兩種方法中的任何一種創建RESTful服務和遇到的優點和缺點的經驗是什麼?
我會說WCF是更適合於構建服務,您可以用asp.net的MVC做,但它需要更多的儀式
WCF服務可以自承載。不需要IIS。 ASP.NET MVC專注於提供HTML,而現有的.net 4 WCF堆棧更側重於XML和JSON。
新的http://wcf.codeplex.com是WCF上的下一代REST,它將比現有的堆棧有更高的性能。
新的堆棧在支持所有不同的媒體類型上會更好。它提供了更好的訪問底層HTTP協議。它將更容易測試,並且可以更容易地插入可重用的處理程序來添加標準行爲。
你提出了一些好點。 根據我所看到的,如果意圖是僅在IIS中託管WCF服務(類似於MVC),則需要一些額外的管道代碼來返回Xml ActionResult或在JSON和XML之間切換以執行相同的操作通過WCF中的配置更改端點。看到ASP.NET MVC也是非常可測試的(類似於WCF),2之間還有其他關鍵差異嗎?我也會對用戶的反饋非常感興趣,他們最終選擇了WCF之一的MVC路由。 – 2011-03-27 20:20:07
我並不喜歡測試版和預覽版,因此新的WCF Web API並不是我想要做的事情。 「公告:WCF Web API現在是ASP.NET Web API!隨ASP.NET MVC 4 Beta發佈的ASP.NET Web API WCF Web API和WCF支持該站點上的jQuery內容將於2012年底移除。」另外http://wcf.codeplex.com/discussions/319671截至今天仍然是BETA http://www.nuget.org/packages/AspNetWebApi – 2012-02-17 20:44:23
看看Scott Hanselminutes的Podcast與Glenn Block討論相同的問題,並比較MVC和新的WCF Web API。 http://www.hanselminutes.com/default.aspx?showID=284
請舉例? – jfar 2011-03-27 04:04:20