温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

WCF服务如何操作SayHello()

发布时间:2021-12-15 09:22:46 来源:亿速云 阅读:107 作者:iii 栏目:编程语言

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI