MVC 5.1, Web API 2.1 RTM
時間2014/1/20,ASP.NET MVC 5.1與ASP.NET Web API 2.1與公告RTM,並且可以透過NuGet正式下載使用。使用MVC 5.1與Web API 2.1之前必須先進行Visual Studio開發工具的更新,之後才能正常使用MVC 5.1與Web API 2.1。
- Visual Studio 2012請下載ASP.NET and Web Tools 2013.1 for Visual Studio 2012。
- Visual Studio 2013請下載Visual Studio 2013 Update 1。
MVC 5.1與Web API 2.1有什麼更新?
此次更新主要是功能增強與問題修正:
ASP.NET MVC 5.1功能改善與增強
- 屬性路由改善
- Bootstrap在Editor範本的支援
- View支援Enum(列舉)
- Unobtrusive validation的MinLength與MaxLength屬性
- 在Unobtrusive Ajax支援"this"內容
ASP.NET Web APi 2.1功能改善與增強
- 全域錯誤處理
- 屬性路由改善
- Help Page改善
- IgnoreRoute支援
- BSON媒體格式支援
- 非同步過濾器支援
- 用戶端支援Query解析
完整的更新內容請參考asp.net說明:
Query Parsing不work!
Query Parsing(Query解析)是從Web API 2.1 RC就公告的功能,不過在Web API 2.1 RC時試不出來,可參考No.18的「[ASP.NET] Web API 2.1 RC New Future,No.18也是試不出來,Pre / Beta / RC … 試不出來就放水流吧!
心想,Web API 2.1 RTM應該可以正常work了?
依照官方Query Parsing文件,我們新增一個主控台應用程式,然後安裝Microsoft ASP.NET Web API 2.1 Client Libraries 5.1.0版:
PM> Install-Package Microsoft.AspNet.WebApi.Client
從官方文件上複製與貼上程式碼,你會看到HttpValueCollection錯誤訊息?怎麼回事,沒改完就RTM?經詢問其他MVP得到一個解決方案。這個方案應該是說官方文件沒交代清楚,特地抓那console application張圖就是要說明,那個誰誰誰,能不能幫忙反應一下。@@
Query Parsing不work的原因
原因很簡單,這個Query Parsing功能只改寫了「可攜式類別庫」的版本,而非可攜式類別庫專案都不會參考可攜式類別庫的版本:
net45是一般使用的版本,portable-wp8+netcore45+net45才是可攜式類別庫的版本。NuGet會同時把兩者都下載回來。
改用可攜式Microsoft.AspNet.WebApi.Client.5.1.0
改用可攜式Microsoft.AspNet.WebApi.Client.5.1.0步驟很簡單:
- 移除System.NET.Http.Formatting參考
- 重新加入可攜式版本
如果一開始就是文件是教大家開啟可攜式類別庫專案,然後加入WebApi.Client的話,可以看下圖:
可攜式類別庫專案一開始就會引用到正確的版本。
哇勒....結果是這個原因 Orz... 當初RC我還試了好久.....想說會不會是我環境問題.....
回覆刪除幹在心裡口難開 >_<
刪除