您好,登錄后才能下訂單哦!
這篇文章給大家介紹ASP.NET AJAX的WCF服務,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
現在,我們將了解更多傳統的WCF服務實現,并且我們也將了解如何通過ASP.NET AJAX向外暴露該服務。默認情況下,當我們創建類庫工程時,對于需要運行的WCF系統不會添加服務模型和對運行時序列化的支持。因此,我們不得不添加必要的服務引用。
繼續并點擊類庫工程鼠標右鍵然后選擇添加引用,再選擇如下引用:
◆System.Runtime.Serialization
◆System.ServiceModel
在本階段,我們將使用一個TODO管理示例來演示整個過程。添加一個基于數據庫的服務然后創建一個帶有字段為ID, Description和Status 的標TODO。現在,從項目模板中添加一個LINQ to SQL的類文件。從數據庫中拖拽TODO表到LINQ to SQL類文件設計器上。
現在添加設計器表面并從屬性窗口改變序列化模式為單向的。現在,我們的設計器就生成了可以供WCF使用的LINQ to SQL類。如果你想使用自定義用戶定義類型,你必須為你的類設置[DataContract]特性并且你必須為你想暴露的WCF服務類的每個屬性添加 [DataMember]特性。
現在,我們將添加一個如下形式的服務接口:
namespaceServiceLibrary { [ServiceContract(Namespace="ServiceLibrary")] interfaceIToDoService { [OperationContract] ToDoGetToDo(longID); [OperationContract] ToDoAddToDo(ToDotoDo); [OperationContract] boolDeleteToDo(ToDotodo); [OperationContract] ToDoUpdateToDo(ToDotodo); [OperationContract] List<ToDo>GetAllToDo(); } }
注意,在ServiceContract 接口特性中我們已經提到的一個命名空間。這點非常重要。我們將使用該名字作為服務的名稱以便內部的JavaScript代碼訪問該服務。現在,我們將添加實現該服務的接口;其代碼如下。
請注意代碼中在類特性上所使用的[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]特性;這對于以ASP.NET AJAX啟用WCF服務暴露的方式是必須的。
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 } }
關于ASP.NET AJAX的WCF服務就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。