標籤:style blog http color os 檔案
由於即將要接手的新專案計劃用ASP.NET MVC3來開發,所以最近一段時間一直在看相關的書或文章。因為之前在大學裡也曾學習過MVC2開發,也做過幾個簡單的MVC2的小型測試專案,不過在後來工作以後主要還是開發WebForm的項目,所以MVC的東西也就逐漸的淡忘了。
經過這一段時間的系統學習,真的覺得MVC3相比於之前的MVC2還有WebForm來說,確實有一種讓人慾罷不能爽歪歪的感覺。特別是Razor文法、Linq運算式等的結合運用。
為了將學習過程中遇到的一些值得留意的問題和知識點進行一個很好地整理,所以打算把對MVC的學習過程整理成一個文章系列,同時也希望能協助那些初學ASP.NET MVC的童鞋們。可能文章的風格不會像其他文章那樣講的很深,主要還是通過執行個體來表達吧。由於自己也是初學,文章中難免有錯誤,也希望各位高手能夠多多指教,大家共同學習。
好了,廢話不多說,進入正題。
個人覺得在MVC中,路由規則算是比較重要的一點。記得之前曾看過dudu站長的一篇文章 HttpClient + ASP.NET Web API, WCF之外的另一個選擇 ,對於用慣了“html+ajax+一般處理常式” 來開發項目的我來說,覺得這應該算是另一種更加高端的處理資料請求的方式吧,所以,今天我們就從這種“精簡版的WebAPI” 開始說起。
首先,先建立一個“ASP.NET 空Web應用程式” :
然後添加對 “System.Web.Http” 和 “System.Web.Http.WebHost” 的引用:
再添加對“System.Net.Http” 的引用:
由於需要用到對Json資料的處理,所以還要添加對 “Newtonsoft.Json” 的引用。
這裡需要注意一下:
如果開始不添加對“Newtonsoft.Json”的引用,在項目運行時就會報錯,具體報錯原因稍後再說。
對四個類庫的引用:
然後建立一個類,用於註冊預設路由映射,這裡類名為 WebAPIConfig :
添加Global.asax檔案,在 Application_Start 方法中 初始化路由映射:
protected void Application_Start(object sender, EventArgs e) { //在應用程式啟動時註冊路由映射 WebAPIConfig.Register(GlobalConfiguration.Configuration); }
記得引入命名空間:
using System.Web.Http;
注意:
上面我們提到,如果開始時不引用 “Newtonsoft.Json”,那麼在運行時 註冊路由映射這裡就會報錯:
建立名為Controller的檔案夾,然後添加一個類且類名以 Controller結尾,這裡為UserController
建立名為Model的檔案夾用來存放實體類,添加Users類:
在 UserController 類中,添加一個 GetUser() 方法,類比一些資料:
//引入命名空間using System.Web.Http;using X_1_FirstWebAPI.Model;namespace X_1_FirstWebAPI.Controller{ public class UserController : ApiController { public List<Users> GetUser() { var userList = new List<Users> { new Users{ Id=1,UName="張三",UAge=12,UAddress="海澱區"}, new Users{Id=2,UName="李四",UAge=23,UAddress="昌平區"}, new Users{Id=3,UName="王五",UAge=34,UAddress="朝陽區"} }; var temp = (from u in userList select u).ToList(); return temp; } }}
我們之前添加的路由規則為 "api/{controller}/{action}/{id}" ,所以,我們在瀏覽器中訪問資料的url為 http://localhost:****/api/controllerName/actionName 的形式,在這裡即是 api/user/getuser :
OK,到這裡,精簡版的WebAPI項目就完成了,這個應該對於大部分.NET程式員來說理解起來是很簡單的。
那下一篇文章我們就深入地來聊一聊如何調用WebAPI請求後台資料吧!
轉載請註明出處。