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

繼續(xù)并點(diǎn)擊類(lèi)庫(kù)工程鼠標(biāo)右鍵然后選擇添加引用,再選擇如下引用:
◆System.Runtime.Serialization
◆System.ServiceModel
在本階段,我們將使用一個(gè)TODO管理示例來(lái)演示整個(gè)過(guò)程。添加一個(gè)基于數(shù)據(jù)庫(kù)的服務(wù)然后創(chuàng)建一個(gè)帶有字段為ID, Description和Status 的標(biāo)TODO?,F(xiàn)在,從項(xiàng)目模板中添加一個(gè)LINQ to SQL的類(lèi)文件。從數(shù)據(jù)庫(kù)中拖拽TODO表到LINQ to SQL類(lèi)文件設(shè)計(jì)器上。
現(xiàn)在添加設(shè)計(jì)器表面并從屬性窗口改變序列化模式為單向的?,F(xiàn)在,我們的設(shè)計(jì)器就生成了可以供WCF使用的LINQ to SQL類(lèi)。如果你想使用自定義用戶(hù)定義類(lèi)型,你必須為你的類(lèi)設(shè)置[DataContract]特性并且你必須為你想暴露的WCF服務(wù)類(lèi)的每個(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
GetAllToDo(); - }
- }
注意,在ServiceContract 接口特性中我們已經(jīng)提到的一個(gè)命名空間。這點(diǎn)非常重要。我們將使用該名字作為服務(wù)的名稱(chēng)以便內(nèi)部的JavaScript代碼訪問(wèn)該服務(wù)?,F(xiàn)在,我們將添加實(shí)現(xiàn)該服務(wù)的接口;其代碼如下。
請(qǐng)注意代碼中在類(lèi)特性上所使用的[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]特性;這對(duì)于以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
listTodos=toDos.ToList(); - if(listTodos!=null&&listTodos.Count>0)
- {
- returnlistTodos[0];
- }
- else
- {
- returnnull;
- }
- }
- #endregion
- }
- }
以上是ASP.NET AJAX的WCF服務(wù)
文章標(biāo)題:ASP.NETAJAX的WCF服務(wù)
文章路徑:http://www.5511xx.com/article/ccecese.html


咨詢(xún)
建站咨詢(xún)
