WCF服务实例激活类型编程与开发

WCF服务实例激活类型编程与开发

ID:42576641

大小:64.63 KB

页数:11页

时间:2019-09-18

WCF服务实例激活类型编程与开发_第1页
WCF服务实例激活类型编程与开发_第2页
WCF服务实例激活类型编程与开发_第3页
WCF服务实例激活类型编程与开发_第4页
WCF服务实例激活类型编程与开发_第5页
资源描述:

《WCF服务实例激活类型编程与开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WCF服务实例激活类型编程与开发所属分类:WCF分布式开发步步为赢,SOAandEAI   .NetRemoting的激活方式也有三种:SingleTon模式、SingleCall模式、客户端激活方式,WCF服务实例激活类型包括三种方式:单调服务(CallService),会话服务(SessionfulService),单例服务(SingletonService).他们之间有什么联系。WCF服务激活类型的优势和缺点,以及如何在项目里编程开发和设置服务实例。全文分为5个部分,首先一次介绍单调服务(CallService),会话服

2、务(SessionfulService),单例服务(SingletonService)的相关概念,优势和缺点,其次是示例代码分析和讲解部分,最后是全文的总结部分。结构如下:【1】单调服务(CallService)【2】会话服务(SessionfulService)【3】单例服务(SingletonService)【4】示例代码分析【5】总结。最后会上传本文的代码。【引言】:  在WCF分布式开发必备知识(2):.NetRemoting这篇文章里我已经介绍过了NetRemoting相关的概念,其中也包括NetRemoting的激

3、活方式:SingleTon模式、SingleCall模式、客户端激活方式。其实WCF服务的激活方式也与此相似。服务激活方式也是WCF借鉴NetRemoting的一个明显的例子。NetRemoting相关的概念大家可以查阅WCF分布式开发必备知识(2):.NetRemoting这篇文章。下面我们就来详细的介绍WCF服务激活类型相关的知识点。首先来介绍的是单调服务。   WCF支持三种实例激活的类型:1>.单调服务(Per-CallService):每次的客户端请求分配一个新的服务实例。类似于NetRemoting的SingleC

4、all模式;2>.会话服务(SessionfulService):则为每次客户端连接分配一个服务实例。类似于NetRemoting的客户端激活模式;3>.单例服务(SingletonService):所有的客户端会为所有的连接和激活对象共享一个相同的服务实例。类似于NetRemoting的SingleTon模式。  这里的服务激活模式是由我们定义的服务的上下文模式InstanceContextMode属性来配置的,其代码如下:public enum InstanceContextMode{    PerSession,    

5、PerCall,    Single} 【1】单调服务(CallService):【1.1】基本概念  单调服务(Per-CallService):每次的客户端请求分配一个新的服务实例。服务实例的生存周期紧紧限制于一次调用的开始与结束之间。客户端的每次请求都会产生新的服务实例来响应这个调用。类似于NetRemoting的SingleCall模式。执行步骤如下:1.客户端调用代理,代理将调用转发给服务。2.WCF创建一个服务实例,然后调用服务实例的方法。3.当方法调用返回时,如果对象实现了IDisposable接口,WCF将调用

6、IDisposable.Dispose()方法。4.客户端调用代理,代理将调用转发给服务。5.WCF创建一个对象,然后调用对象的方法。                                                         单调服务的实例化模型图:  【1.2】开发配置:   单调服务开发配置十分简单,我们使用[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]配置服务属性完成。这样的WCF服务模式为单调模式,WCF框

7、架对自动更具设置的属性来决定具体的服务激活类型。代码如下所示:    [ServiceBehavior(InstanceContextMode=InstanceContextMode.PerCall)]    public class WCFServicePerCall : IWCFService,IDisposable    {    } 【1.3】注意:   (1)[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]特性只能应用到类上。 

8、  (2)如果使用了昂贵的资源,如数据库连接等非托管资源,继承IDisposable接口,       //实现接口定义的方法Dispose()方法显示释放资源。但是也有弊端,频繁地创建与销毁实例,仍然会对性能造成一定的影响。    (3)对于WCF服务而言,单调服务可以算是

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。