ASP.NET MVC學習系列(一)-WebAPI初探


  由於即將要接手的新項目計划用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 。讓這個類繼承自 ApiController 基類:

  創建名為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請求后台數據吧!

   下載代碼

轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM