日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
ASP.NETWebAPI和JQ創(chuàng)建簡(jiǎn)單Web應(yīng)用

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

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、岱岳網(wǎng)站維護(hù)、網(wǎng)站推廣。

一、一個(gè)簡(jiǎn)單的基于CRUD的Web應(yīng)用

這個(gè)簡(jiǎn)單的Demo應(yīng)用用于模擬“聯(lián)系人管理”。當(dāng)頁(yè)面加載的時(shí)候,所有的聯(lián)系人列表被列出來(lái)。在同一個(gè)頁(yè)面中,我們可以添加一個(gè)新的聯(lián)系人,也可以修改和刪除現(xiàn)有聯(lián)系人信息。整個(gè)應(yīng)用***的頁(yè)面在瀏覽器中的呈現(xiàn)效果如下圖所示。

#p#

二、通過ASP.NET Web API提供服務(wù)

我們來(lái)簡(jiǎn)單介紹作為Web API形式發(fā)布的聯(lián)系人管理服務(wù)的定義,先來(lái)看看用于表示聯(lián)系人的Contact類型的定義。

 
 
 
 
  1. public class Contact
  2. {
  3.     public string Id { get; set; }
  4.     public string FirstName { get; set; }
  5.     public string LastName { get; set; }
  6.     public string PhoneNo { get; set; }
  7.     public string EmailAddress { get; set; }
  8. }

“聯(lián)系人服務(wù)”以具有如下定義的ContactController的形式定義,它是ApiController的子類。簡(jiǎn)單起見,我們采用靜態(tài)字段作為對(duì)聯(lián)系人信息的存儲(chǔ)。ContactController定義了Get、Put、Post和Delete用于進(jìn)行對(duì)聯(lián)系人的獲取、添加、修改和刪除操作。我想對(duì)Web API不了解的人會(huì)感概,為了什么采用常用的四個(gè)HTTP方法作為操作的名稱,因?yàn)樗鼈冊(cè)谀J(rèn)的情況下就可以映射為HTTP請(qǐng)求的方法。

 
 
 
 
  1. public class ContactController : ApiController
  2. {
  3.     private static List contacts = new List
  4.     {
  5.         new Contact{ Id="001", FirstName = "San", LastName="Zhang", PhoneNo="123", EmailAddress="zhangsan@gmail.com"},
  6.         new Contact{ Id="002",FirstName = "Si", LastName="Li", PhoneNo="456", EmailAddress="lisi@gmail.com"}
  7.     };
  8.         
  9.     public IEnumerable Get()
  10.    {
  11.        return contacts;
  12.    }
  13.    public Contact Get(string id)
  14.    {
  15.        return contacts.FirstOrDefault(c => c.Id == id);
  16.    }
  17.    public void Put(Contact contact)
  18.    {
  19.        if (string.IsNullOrEmpty(contact.Id))
  20.        {
  21.            contact.Id = Guid.NewGuid().ToString();
  22.        }
  23.        contacts.Add(contact);
  24.    }
  25.    public void Post(Contact contact)
  26.    {
  27.        Delete(contact.Id);
  28.        contacts.Add(contact);
  29.    }
  30.    public void Delete(string id)
  31.    {
  32.        Contact contact = contacts.FirstOrDefault(c => c.Id == id);
  33.        contacts.Remove(contact);
  34.    }

和ASP.NET MVC Web應(yīng)用一樣,我們同樣采用URL路由機(jī)制來(lái)實(shí)現(xiàn)請(qǐng)求地址與目標(biāo)Controller和Action的映射,而針對(duì)API默認(rèn)注冊(cè)的路有如下所示。

 
 
 
 
  1. public class MvcApplication : System.Web.HttpApplication
  2. {
  3.     //...
  4.     public static void RegisterRoutes(RouteCollection routes)
  5.     {
  6.          //...
  7.         routes.MapHttpRoute(
  8.             name: "DefaultApi",
  9.             routeTemplate: "api/{controller}/{id}",
  10.            defaults: new { id = RouteParameter.Optional }
  11.        );

按照注冊(cè)的路由規(guī)則和Action方法名稱與HTTP方法的默認(rèn)影射機(jī)制,我們可以直接在瀏覽器中分別訪問地址“/api/contact”和“/api/contact/001”得到所有聯(lián)系人列表和ID為“001”的聯(lián)系人信息。得到的結(jié)果如下圖所示。

#p#

三、通過JQuery消費(fèi)服務(wù)

我們通過ASP.NET MVC來(lái)構(gòu)建Web應(yīng)用,默認(rèn)的HomeController定義如下,默認(rèn)的Index操作僅僅是將默認(rèn)的View呈現(xiàn)出來(lái)而已。

 
 
 
 
  1. public class HomeController : Controller
  2. {
  3.     public ActionResult Index()
  4.     {
  5.         return View();
  6.     }
  7. }

View中對(duì)用戶操作的相應(yīng)和對(duì)后臺(tái)服務(wù)的調(diào)用都通過JQuery來(lái)完成,整個(gè)View的定義如下所示。

 
 
 
 
  1.     


當(dāng)前題目:ASP.NETWebAPI和JQ創(chuàng)建簡(jiǎn)單Web應(yīng)用
URL地址:http://m.5511xx.com/article/dhiegcg.html