您好,登錄后才能下訂單哦!
本篇內容介紹了“WCF服務如何操作SayHello()”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
這里我們分別定義了三種激活類型的服務類:單調服務(Per-CallService),會話服務(SessionfulService),單例服務(SingletonService),托管宿主分別進行托管,這里為了測試,我們使用的綁定協議也是TCP方式,其他的協議這里沒做具體的實現,有興趣的朋友可以自己擴展修改代碼,進行測試。
WCF服務支持三種實例激活的類型:單調服務(Per-Call Service):每次的客戶端請求分配一個新的服務實例。類似于Net Remoting的SingleCall模式;會話服務(Sessionful Service):則為每次客戶端連接分配一個服務實例。類似于Net Remoting的客戶端激活模式;單例服務(Singleton Service):所有的客戶端會為所有的連接和激活對象共享一個相同的服務實例。類似于Net Remoting的SingleTon模式。
WCF服務:定義了一個服務契約,一個操作SayHello(),具體的WCF服務類型定義和激活類型配置如下:
//此例定義了一個服務契約,三種服務分別為單調服務、會話服務、單例服務或單件服務 namespaceWCFService { //1.服務契約 [ServiceContract(SessionModeSessionMode=SessionMode.Allowed,Namespace="http://www.cnblogs.com/frank_xl/")] publicinterfaceIWCFService { //操作契約 [OperationContract] voidSayHello(); } //2.服務類.單調服務 [ServiceBehavior(InstanceContextModeInstanceContextMode=InstanceContextMode.PerCall)] publicclassWCFServicePerCall:IWCFService,IDisposable { //服務實例計數 privateintmCcount=0; //構造函數 publicWCFServicePerCall() { Console.WriteLine("WCFServicePerCallInstanceisCreated"); } //實現接口定義的方法 publicvoidSayHello() { mCcount++; Console.WriteLine("WCFServicePerCallInstanceCountis:{0}",mCcount); } //實現接口定義的方法Dispose publicvoidDispose() { Console.WriteLine("WCFServicePerCallInstanceisdisposed"); } } //3.服務類.會話服務 [ServiceBehavior(InstanceContextModeInstanceContextMode=InstanceContextMode.PerSession)] publicclassWCFServicePerSession:IWCFService { //服務實例計數 privateintmCcount=0; //構造函數 publicWCFServicePerSession() { Console.WriteLine("WCFServicePerSessionInstanceisCreated"); } //實現接口定義的方法 publicvoidSayHello() { mCcount++; Console.WriteLine("WCFServicePerSessionInstanceCountis:{0}",mCcount); } //實現接口定義的方法Dispose publicvoidDispose() { Console.WriteLine("WCFServicePerSessionInstanceisdisposed"); } } //4.服務類.單例服務 [ServiceBehavior(InstanceContextModeInstanceContextMode=InstanceContextMode.Single)] publicclassWCFServiceSingleTon:IWCFService { //服務實例計數 privateintmCcount=0; //構造函數 publicWCFServiceSingleTon() { Console.WriteLine("WCFServiceSingleTonInstanceisCreated"); } //實現接口定義的方法 publicvoidSayHello() { mCcount++; Console.WriteLine("WCFServiceSingleTonInstanceCountis:{0}",mCcount); } //實現接口定義的方法Dispose publicvoidDispose() { Console.WriteLine("WCFServiceSingleTonInstanceisdisposed"); } } }
“WCF服務如何操作SayHello()”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。