溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ASP.NET AJAX的WCF服務(wù)

發(fā)布時(shí)間:2021-10-28 10:14:09 來源:億速云 閱讀:97 作者:柒染 欄目:編程語言

這篇文章給大家介紹ASP.NET AJAX的WCF服務(wù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

現(xiàn)在,我們將了解更多傳統(tǒng)的WCF服務(wù)實(shí)現(xiàn),并且我們也將了解如何通過ASP.NET AJAX向外暴露該服務(wù)。默認(rèn)情況下,當(dāng)我們創(chuàng)建類庫工程時(shí),對于需要運(yùn)行的WCF系統(tǒng)不會(huì)添加服務(wù)模型和對運(yùn)行時(shí)序列化的支持。因此,我們不得不添加必要的服務(wù)引用。

繼續(xù)并點(diǎn)擊類庫工程鼠標(biāo)右鍵然后選擇添加引用,再選擇如下引用:
◆System.Runtime.Serialization
◆System.ServiceModel

ASP.NET AJAX的WCF服務(wù)


在本階段,我們將使用一個(gè)TODO管理示例來演示整個(gè)過程。添加一個(gè)基于數(shù)據(jù)庫的服務(wù)然后創(chuàng)建一個(gè)帶有字段為ID, Description和Status 的標(biāo)TODO?,F(xiàn)在,從項(xiàng)目模板中添加一個(gè)LINQ to SQL的類文件。從數(shù)據(jù)庫中拖拽TODO表到LINQ to SQL類文件設(shè)計(jì)器上。

現(xiàn)在添加設(shè)計(jì)器表面并從屬性窗口改變序列化模式為單向的?,F(xiàn)在,我們的設(shè)計(jì)器就生成了可以供WCF使用的LINQ to SQL類。如果你想使用自定義用戶定義類型,你必須為你的類設(shè)置[DataContract]特性并且你必須為你想暴露的WCF服務(wù)類的每個(gè)屬性添加 [DataMember]特性。

現(xiàn)在,我們將添加一個(gè)如下形式的服務(wù)接口:

namespaceServiceLibrary  {  [ServiceContract(Namespace="ServiceLibrary")]  interfaceIToDoService  {  [OperationContract]  ToDoGetToDo(longID);  [OperationContract]  ToDoAddToDo(ToDotoDo);  [OperationContract]  boolDeleteToDo(ToDotodo);  [OperationContract]  ToDoUpdateToDo(ToDotodo);  [OperationContract]  List<ToDo>GetAllToDo();  }  }

注意,在ServiceContract 接口特性中我們已經(jīng)提到的一個(gè)命名空間。這點(diǎn)非常重要。我們將使用該名字作為服務(wù)的名稱以便內(nèi)部的JavaScript代碼訪問該服務(wù)?,F(xiàn)在,我們將添加實(shí)現(xiàn)該服務(wù)的接口;其代碼如下。

請注意代碼中在類特性上所使用的[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]特性;這對于以ASP.NET AJAX啟用WCF服務(wù)暴露的方式是必須的。

namespaceServiceLibrary  {  [AspNetCompatibilityRequirements(RequirementsMode=  AspNetCompatibilityRequirementsMode.Allowed)]  publicclassToDoService:IToDoService  {  #regionIToDoServiceMembers  publicToDoGetToDo(longID)  {  DataClasses1DataContextcontext=newDataClasses1DataContext();  vartoDos=frompincontext.ToDos  wherep.ID==ID  selectp;  List<ToDo>listTodos=toDos.ToList();  if(listTodos!=null&&listTodos.Count>0)  {  returnlistTodos[0];  }  else  {  returnnull;  }  }  #endregion  }  }

關(guān)于ASP.NET AJAX的WCF服務(wù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI