WCF单调服务开发配置注意事项总结

开发 开发工具
我们在这篇文章中会通过对WCF单调服务的基本概念,以及开发配置等方面对这一技术应用做一个详细的介绍。希望可以给大家带来些许帮助。

WCF中,有很多比较重要的知识内容,对于初学者来说要想全部掌握这些内容,还是需要先从基础知识开始学起。接下来我们先为大家介绍一下有关WCF单调服务的基本内容,以方便大家了解。#t#
 

【1.1】WCF单调服务基本概念

单调服务(Per-Call Service):每次的客户端请求分配一个新的服务实例。服务实例的生存周期紧紧限制于一次调用的开始与结束之间。客户端的每次请求都会产生新的服务实例来响应这个调用。类似于Net Remoting的SingleCall模式。 执行步骤如下:

1. 客户端调用代理,代理将调用转发给服务。

2. WCF创建一个服务实例,然后调用服务实例的方法。

3. 当方法调用返回时,如果对象实现了IDisposable接口,WCF将调用IDisposable.Dispose()方法。

4. 客户端调用代理,代理将调用转发给服务。

5. WCF创建一个对象,然后调用对象的方法。

【1.2】WCF单调服务开发配置:

单调服务开发配置十分简单,我们使用[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]配置服务属性完成。这样的WCF服务模式为单调模式,WCF框架对自动更具设置的属性来决定具体的服务激活类型。代码如下所示:

 

  1. [ServiceBehavior(InstanceContextModeInstanceContextMode=
    InstanceContextMode.PerCall)]  
  2. public class WCFServicePerCall : IWCFService,IDisposable  
  3. {  

【1.3】WCF单调服务在使用中需要注意:

(1)[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]特性只能应用到类上。

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

(3)对于WCF服务而言,单调服务可以算是***的实例激活模式。 单调服务的一个最重要优势在于它能够节省资源,支持系统的可伸缩性。另外在事务编程与队列服务中优势更为明显,在事务编程中新建服务实例,减少实例状态的同步;而消息队列,单调服务能够建立服务实例与队列消息之间的简单映射。详细信息会在后续文章中介绍。

责任编辑:曹凯 来源: 博客园
相关推荐

2009-12-22 09:48:58

WCF枚举类型

2009-12-22 11:29:27

WCF自定义集合类型

2009-12-08 09:45:50

调用WCF

2010-06-04 10:18:43

Hadoop配置

2011-07-07 10:03:09

2011-08-03 11:40:49

布线系统

2009-12-15 10:10:38

VS 2008开发

2009-12-16 16:02:30

Visual Stud

2010-03-01 09:56:21

WCF自定义集合类型

2017-04-06 09:49:55

Hive注意事项优化

2011-03-31 13:58:34

cactinagios

2011-07-25 17:48:10

iPhone 内存

2020-08-26 05:45:40

服务网格DevOps开发

2009-09-24 14:53:43

打印服务器

2009-12-15 17:47:17

VSIP

2011-05-26 11:22:04

SEO

2011-07-21 15:40:24

iPhone 内存管理 对象

2024-11-15 10:00:00

Python爬虫开发

2011-08-01 12:53:25

iPhone 多线程 线程

2018-06-26 09:50:55

服务器企业运维
点赞
收藏

51CTO技术栈公众号