這篇文章給大家介紹如何理解WCF ServiceContract特性,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
為番禺等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及番禺網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、番禺網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
想要運用好一門技術(shù)就要了解它的基本的特性,比如類的特性,我們就來分析一下WCF ServiceContract特性。Windows通信基礎(chǔ)(Windows Communication Foundation,WCF)是基于Windows平臺下開發(fā)和部署服務(wù)的軟件開發(fā)包(Software Development Kit,SDK)。
WCF中的Data Contract(4):WCF Data Co
簡介WCF Data Contract的兩個版本
WCF Data Contract之集合類型
簡介WCF Data Contract之枚舉
代碼演示W(wǎng)CF Data Contract序列化引擎案
WCF為服務(wù)提供了運行時環(huán)境(Runtime Environment),使得開發(fā)者能夠?qū)LR類型公開為服務(wù),又能夠以CLR類型的方式使用服務(wù)。理論上講,創(chuàng)建服務(wù)并不一定需要WCF,但實際上,使用WCF卻可以使得創(chuàng)建服務(wù)的任務(wù)事半功倍。WCF是微軟對一系列產(chǎn)業(yè)標準定義的實現(xiàn),包括服務(wù)交互、類型轉(zhuǎn)換、封送(Marshaling)以及各種協(xié)議的管理。正因為如此,WCF才能夠提供服務(wù)之間的互操作性。WCF ServiceContract特性允許應(yīng)用到接口或類上。當接口應(yīng)用了Service-Contract特性后,需要定義類實現(xiàn)該接口??偟膩碇v,我們可以使用C#或VB去實現(xiàn)接口,服務(wù)類的代碼無需修改,自然而然成為一個WCF服務(wù):
[ServiceContract] interface IMyContract { [OperationContract] string MyMethod(); } class MyService : IMyContract { public string MyMethod() { return "Hello WCF"; } }
我們可以隱式或顯式實現(xiàn)接口:
class MyService : IMyContract { string IMyContract.MyMethod() { return "Hello WCF"; } }
一個單獨的類通過繼承和實現(xiàn)多個標記了WCF ServiceContract特性的接口,可以支持多個契約。
[ServiceContract] interface IMyContract { [OperationContract] string MyMethod(); } [ServiceContract] interface IMyOtherContract { [OperationContract] void MyOtherMethod(); } class MyService : IMyContract,IMyOtherContract { public string MyMethod() {...} public void MyOtherMethod() {...} }
然而,服務(wù)類還有一些實現(xiàn)上的約束。我們要避免使用帶參構(gòu)造函數(shù),因為WCF只能使用默認構(gòu)造函數(shù)。同樣,雖然類可以使用內(nèi)部(internal)的屬性、索引器以及靜態(tài)成員,但WCF客戶端卻無法訪問它們。
關(guān)于如何理解WCF ServiceContract特性就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。