自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于WCF服務操作SayHello()案例分析

開發(fā) 后端
這里就WCF服務:定義了一個服務契約,一個操作SayHello(),具體的WCF服務類型定義和激活類型配置文章中有詳細的代碼。

大家對的WCF三種服務都很了解了吧,但是怎樣更好的結(jié)合到實踐中,想必有些人不知道怎么做,下面我們來介紹本次的示例代碼,這里我們分別定義了三種激活類型的服務類:單調(diào)服務(Per-CallService),會話服務(SessionfulService),單例服務(SingletonService),托管宿主分別進行托管,這里為了測試,我們使用的綁定協(xié)議也是TCP方式,其他的協(xié)議這里沒做具體的實現(xiàn),有興趣的朋友可以自己擴展修改代碼,進行測試。

#T#WCF服務支持三種實例激活的類型:單調(diào)服務(Per-Call Service):每次的客戶端請求分配一個新的服務實例。類似于Net Remoting的SingleCall模式;會話服務(Sessionful Service):則為每次客戶端連接分配一個服務實例。類似于Net Remoting的客戶端激活模式;單例服務(Singleton Service):所有的客戶端會為所有的連接和激活對象共享一個相同的服務實例。類似于Net Remoting的SingleTon模式。

WCF服務:定義了一個服務契約,一個操作SayHello(),具體的WCF服務類型定義和激活類型配置如下:

  1. //此例定義了一個服務契約,三種服務分別為單調(diào)服務、會話服務、單例服務或單件服務  
  2. namespaceWCFService  
  3. {  
  4. //1.服務契約  
  5. [ServiceContract(SessionModeSessionMode=SessionMode.Allowed,Namespace="http://www.cnblogs.com/frank_xl/")]  
  6. publicinterfaceIWCFService  
  7. {  
  8. //操作契約  
  9. [OperationContract]  
  10. voidSayHello();  
  11. }  
  12. //2.服務類.單調(diào)服務  
  13. [ServiceBehavior(InstanceContextModeInstanceContextMode=InstanceContextMode.PerCall)]  
  14. publicclassWCFServicePerCall:IWCFService,IDisposable  
  15. {  
  16. //服務實例計數(shù)  
  17. privateintmCcount=0;  
  18. //構(gòu)造函數(shù)  
  19. publicWCFServicePerCall()  
  20. {  
  21. Console.WriteLine("WCFServicePerCallInstanceisCreated");  
  22. }  
  23. //實現(xiàn)接口定義的方法  
  24. publicvoidSayHello()  
  25. {  
  26. mCcount++;  
  27. Console.WriteLine("WCFServicePerCallInstanceCountis:{0}",mCcount);  
  28. }  
  29. //實現(xiàn)接口定義的方法Dispose  
  30. publicvoidDispose()  
  31. {  
  32. Console.WriteLine("WCFServicePerCallInstanceisdisposed");  
  33. }  
  34. }  
  35. //3.服務類.會話服務  
  36. [ServiceBehavior(InstanceContextModeInstanceContextMode=InstanceContextMode.PerSession)]  
  37. publicclassWCFServicePerSession:IWCFService  
  38. {  
  39. //服務實例計數(shù)  
  40. privateintmCcount=0;  
  41. //構(gòu)造函數(shù)  
  42. publicWCFServicePerSession()  
  43. {  
  44. Console.WriteLine("WCFServicePerSessionInstanceisCreated");  
  45. }  
  46. //實現(xiàn)接口定義的方法  
  47. publicvoidSayHello()  
  48. {  
  49. mCcount++;  
  50. Console.WriteLine("WCFServicePerSessionInstanceCountis:{0}",mCcount);  
  51. }  
  52. //實現(xiàn)接口定義的方法Dispose  
  53. publicvoidDispose()  
  54. {  
  55. Console.WriteLine("WCFServicePerSessionInstanceisdisposed");  
  56. }  
  57. }  
  58. //4.服務類.單例服務  
  59. [ServiceBehavior(InstanceContextModeInstanceContextMode=InstanceContextMode.Single)]  
  60. publicclassWCFServiceSingleTon:IWCFService  
  61. {  
  62. //服務實例計數(shù)  
  63. privateintmCcount=0;  
  64. //構(gòu)造函數(shù)  
  65. publicWCFServiceSingleTon()  
  66. {  
  67. Console.WriteLine("WCFServiceSingleTonInstanceisCreated");  
  68. }  
  69. //實現(xiàn)接口定義的方法  
  70. publicvoidSayHello()  
  71. {  
  72. mCcount++;  
  73. Console.WriteLine("WCFServiceSingleTonInstanceCountis:{0}",mCcount);  
  74. }  
  75. //實現(xiàn)接口定義的方法Dispose  
  76. publicvoidDispose()  
  77. {  
  78. Console.WriteLine("WCFServiceSingleTonInstanceisdisposed");  
  79. }  
  80. }  
  81.  

 

責任編輯:田樹 來源: 博客
相關(guān)推薦

2009-11-09 13:47:22

WCF Stream操

2009-11-05 17:00:34

WCF有序傳遞

2009-11-09 14:46:09

WCF集合契約等價

2009-11-06 10:37:57

配置WCF服務

2010-03-02 10:41:03

IIS托管WCF服務

2009-07-27 17:51:58

WCF服務ASP.NET

2009-11-05 16:01:51

WCF單調(diào)服務

2009-12-07 14:35:42

WCF異步調(diào)用

2009-11-06 10:45:47

WCF服務元數(shù)據(jù)交換

2009-12-07 18:33:31

WCF Service

2009-11-09 17:55:13

WCF緩存

2009-11-09 16:44:18

WCF Service

2009-11-09 13:04:53

WCF事物處理

2009-11-06 11:07:52

WCF事務屬性

2010-03-02 09:39:11

保護WCF服務

2011-12-26 16:33:02

WCF

2009-11-05 11:05:19

WCF服務合同

2009-11-05 15:25:36

WCF服務端配置

2009-10-22 10:40:03

康普綜合布線系統(tǒng)

2010-02-26 14:49:10

WCF服務實例單一性
點贊
收藏

51CTO技術(shù)棧公眾號