新聞中心
看了dudu的《HttpClient + ASP.NET Web API, WCF之外的另一個選擇》一文,想起多很久之前體現(xiàn)ASP.NET Web API而創(chuàng)建的一個Demo。這是一個只涉及到簡單CRUD操作的Web應用,業(yè)務邏輯以Web API的形式定義并以服務的形式發(fā)布出來,前臺通過jQuery處理用戶交互并調用后臺服務。[源代碼從這里下載]

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、虛擬空間、營銷軟件、網(wǎng)站建設、岱岳網(wǎng)站維護、網(wǎng)站推廣。
一、一個簡單的基于CRUD的Web應用
這個簡單的Demo應用用于模擬“聯(lián)系人管理”。當頁面加載的時候,所有的聯(lián)系人列表被列出來。在同一個頁面中,我們可以添加一個新的聯(lián)系人,也可以修改和刪除現(xiàn)有聯(lián)系人信息。整個應用***的頁面在瀏覽器中的呈現(xiàn)效果如下圖所示。
#p#
二、通過ASP.NET Web API提供服務
我們來簡單介紹作為Web API形式發(fā)布的聯(lián)系人管理服務的定義,先來看看用于表示聯(lián)系人的Contact類型的定義。
- public class Contact
- {
- public string Id { get; set; }
- public string FirstName { get; set; }
- public string LastName { get; set; }
- public string PhoneNo { get; set; }
- public string EmailAddress { get; set; }
- }
“聯(lián)系人服務”以具有如下定義的ContactController的形式定義,它是ApiController的子類。簡單起見,我們采用靜態(tài)字段作為對聯(lián)系人信息的存儲。ContactController定義了Get、Put、Post和Delete用于進行對聯(lián)系人的獲取、添加、修改和刪除操作。我想對Web API不了解的人會感概,為了什么采用常用的四個HTTP方法作為操作的名稱,因為它們在默認的情況下就可以映射為HTTP請求的方法。
- public class ContactController : ApiController
- {
- private static List
contacts = new List - {
- new Contact{ Id="001", FirstName = "San", LastName="Zhang", PhoneNo="123", EmailAddress="zhangsan@gmail.com"},
- new Contact{ Id="002",FirstName = "Si", LastName="Li", PhoneNo="456", EmailAddress="lisi@gmail.com"}
- };
- public IEnumerable
Get() - {
- return contacts;
- }
- public Contact Get(string id)
- {
- return contacts.FirstOrDefault(c => c.Id == id);
- }
- public void Put(Contact contact)
- {
- if (string.IsNullOrEmpty(contact.Id))
- {
- contact.Id = Guid.NewGuid().ToString();
- }
- contacts.Add(contact);
- }
- public void Post(Contact contact)
- {
- Delete(contact.Id);
- contacts.Add(contact);
- }
- public void Delete(string id)
- {
- Contact contact = contacts.FirstOrDefault(c => c.Id == id);
- contacts.Remove(contact);
- }
和ASP.NET MVC Web應用一樣,我們同樣采用URL路由機制來實現(xiàn)請求地址與目標Controller和Action的映射,而針對API默認注冊的路有如下所示。
- public class MvcApplication : System.Web.HttpApplication
- {
- //...
- public static void RegisterRoutes(RouteCollection routes)
- {
- //...
- routes.MapHttpRoute(
- name: "DefaultApi",
- routeTemplate: "api/{controller}/{id}",
- defaults: new { id = RouteParameter.Optional }
- );
按照注冊的路由規(guī)則和Action方法名稱與HTTP方法的默認影射機制,我們可以直接在瀏覽器中分別訪問地址“/api/contact”和“/api/contact/001”得到所有聯(lián)系人列表和ID為“001”的聯(lián)系人信息。得到的結果如下圖所示。
#p#
三、通過JQuery消費服務
我們通過ASP.NET MVC來構建Web應用,默認的HomeController定義如下,默認的Index操作僅僅是將默認的View呈現(xiàn)出來而已。
- public class HomeController : Controller
- {
- public ActionResult Index()
- {
- return View();
- }
- }
View中對用戶操作的相應和對后臺服務的調用都通過JQuery來完成,整個View的定義如下所示。
文章標題:ASP.NETWebAPI和JQ創(chuàng)建簡單Web應用
網(wǎng)站路徑:http://www.5511xx.com/article/dhiegcg.html


咨詢
建站咨詢
