本篇内容介绍了“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()”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!