這篇文章給大家介紹如何理解WCF ServiceContract特性,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
想要運用好一門技術就要了解它的基本的特性,比如類的特性,我們就來分析一下WCF ServiceContract特性。Windows通信基礎(Windows Communication Foundation,WCF)是基于Windows平臺下開發和部署服務的軟件開發包(Software Development Kit,SDK)。
WCF中的Data Contract(4):WCF Data Co
簡介WCF Data Contract的兩個版本
WCF Data Contract之集合類型
簡介WCF Data Contract之枚舉
代碼演示WCF Data Contract序列化引擎案
WCF為服務提供了運行時環境(Runtime Environment),使得開發者能夠將CLR類型公開為服務,又能夠以CLR類型的方式使用服務。理論上講,創建服務并不一定需要WCF,但實際上,使用WCF卻可以使得創建服務的任務事半功倍。WCF是微軟對一系列產業標準定義的實現,包括服務交互、類型轉換、封送(Marshaling)以及各種協議的管理。正因為如此,WCF才能夠提供服務之間的互操作性。WCF ServiceContract特性允許應用到接口或類上。當接口應用了Service-Contract特性后,需要定義類實現該接口??偟膩碇v,我們可以使用C#或VB去實現接口,服務類的代碼無需修改,自然而然成為一個WCF服務:
[ServiceContract] interface IMyContract { [OperationContract] string MyMethod(); } class MyService : IMyContract { public string MyMethod() { return "Hello WCF"; } }
我們可以隱式或顯式實現接口:
class MyService : IMyContract { string IMyContract.MyMethod() { return "Hello WCF"; } }
一個單獨的類通過繼承和實現多個標記了WCF ServiceContract特性的接口,可以支持多個契約。
[ServiceContract] interface IMyContract { [OperationContract] string MyMethod(); } [ServiceContract] interface IMyOtherContract { [OperationContract] void MyOtherMethod(); } class MyService : IMyContract,IMyOtherContract { public string MyMethod() {...} public void MyOtherMethod() {...} }
然而,服務類還有一些實現上的約束。我們要避免使用帶參構造函數,因為WCF只能使用默認構造函數。同樣,雖然類可以使用內部(internal)的屬性、索引器以及靜態成員,但WCF客戶端卻無法訪問它們。
關于如何理解WCF ServiceContract特性就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。