偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

WCF服務(wù)實(shí)例單一性實(shí)現(xiàn)案例解讀

開發(fā) 開發(fā)工具
我們今天將會在這篇文章中通過一個(gè)實(shí)際案例來為大家詳細(xì)介紹一下有關(guān)WCF服務(wù)實(shí)例單一性的相關(guān)實(shí)現(xiàn)操作,希望對大家有所幫助。

在應(yīng)用WCF這樣一款功能強(qiáng)大的開發(fā)工具的前提下,我們需要熟練的掌握其中的各種應(yīng)用技術(shù)以及功能的了解,這樣才能有助于我們的實(shí)際應(yīng)用。在這里我們將會為大家介紹一下WCF服務(wù)實(shí)例單一性的實(shí)現(xiàn)方法。

了讓讀者對單例實(shí)例上下文模式有一個(gè)直觀的認(rèn)識,我們通過一個(gè)簡單的案例演示單例模式下WCF服務(wù)實(shí)例單一性。這里使用前面章節(jié)使用過的累加器的例子,下面是服務(wù)契約和服務(wù)實(shí)現(xiàn)的定義:在初始化時(shí),運(yùn)算的結(jié)果為零,通過Add方法僅僅對結(jié)果累加,計(jì)算的結(jié)果通過GetResult操作返回。在CalculatorService上面,通過System.ServiceModel.ServiceBehaviorAttribute將服務(wù)設(shè)定為單例模式。

  1. using System.ServiceModel;   
  2. namespace Artech.WcfServices.Contracts   
  3. {   
  4. [ServiceContract(Namespace="http://www.artech.com/")]   
  5. public interface ICalculator   
  6. {   
  7. [OperationContract]   
  8. void Add(double x);   
  9. [OperationContract]   
  10. double GetResult();   
  11. }   
  12. }   
  13. using System.ServiceModel;   
  14. using Artech.WcfServices.Contracts;   
  15. namespace Artech.WcfServices.Services   
  16. {   
  17. [ServiceBehavior(InstanceContextModeInstanceContextMode = 
    InstanceContextMode.Single)]   
  18. public class CalculatorService : ICalculator   
  19. {   
  20. private double _result;   
  21. public void Add(double x)   
  22. { 11: this._result += x;   
  23. }   
  24. public double GetResult()   
  25. {   
  26. return this._result;   
  27. }   
  28. }   

在客戶端,通過ChannelFactory<ICalculator>創(chuàng)建兩個(gè)服務(wù)代理,模擬兩個(gè)不同的客戶端。從最終輸出來看,得到的結(jié)果并不能反映出具體某個(gè)客戶端正常的累加運(yùn)算(對于通過calculator2模擬的客戶端,僅僅調(diào)用了一次Add(3),得到的結(jié)果卻是6)這是所有客戶端一起累加的結(jié)果,這就是WCF服務(wù)實(shí)例單一性造成。

  1. using (ChannelFactory<ICalculator> channelFactory = 
    new ChannelFactory<ICalculator>("calculatorservice"))   
  2. {   
  3. ICalculator calculator1 = channelFactory.CreateChannel();   
  4. ICalculator calculator2 = channelFactory.CreateChannel();   
  5. Console.WriteLine("1st serivce proxy:");   
  6. Console.WriteLine("Add(3);");   
  7. calculator1.Add(3);   
  8. Console.WriteLine("The result is {0}.\n", calculator1.GetResult());   
  9. Console.WriteLine("2nd serivce proxy:");   
  10. Console.WriteLine("Add(3);");   
  11. calculator2.Add(3);   
  12. Console.WriteLine("The result is {0}.", calculator2.GetResult());   
  13. }  

輸出結(jié)果:

 

  1. 1st serivce proxy:Add(3);  
  2. The result is 3.   
  3. 2nd serivce proxy:Add(3);  
  4. The result is 6. 

以上就是我們對WCF服務(wù)實(shí)例單一性的相關(guān)介紹。

【編輯推薦】

  1. WCF服務(wù)寄宿相關(guān)使用概念詳解
  2. WCF用戶驗(yàn)證基本實(shí)現(xiàn)原理
  3. WCF元數(shù)據(jù)獲取方式技巧分享
  4. WCF通信方式正確配置方式
  5. WCF消息頭基本應(yīng)用技巧講解
責(zé)任編輯:曹凱 來源: CSDN
相關(guān)推薦

2010-03-02 10:33:01

Silverlight

2010-03-02 14:06:37

WCF服務(wù)實(shí)例管理模式

2012-02-14 10:18:11

WCF數(shù)據(jù)服務(wù)

2009-08-14 17:04:19

Windows后臺服務(wù)

2010-02-26 15:24:27

WCF釋放服務(wù)對象

2009-12-22 10:16:54

WCF服務(wù)狀態(tài)

2010-03-01 16:04:31

WCF服務(wù)契約

2021-08-06 06:51:14

NacosRibbon服務(wù)

2009-11-05 16:01:51

WCF單調(diào)服務(wù)

2009-11-05 16:21:51

WCF服務(wù)

2024-03-27 14:43:07

.NET Core后端監(jiān)控可觀測性

2010-02-25 17:04:54

WCF實(shí)例上下文

2009-11-05 17:00:34

WCF有序傳遞

2010-02-25 17:57:26

WCF服務(wù)合同

2009-10-09 17:18:13

RHEL配置NIS

2024-06-11 00:11:00

2013-01-16 11:36:41

2009-12-08 14:28:16

XTemplate +

2009-12-08 18:14:53

WCF Service

2010-03-02 10:41:03

IIS托管WCF服務(wù)
點(diǎn)贊
收藏

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