WCF 第五章 不支持会话的绑定的默认并发和实例
2011-06-30 09:40
363 查看
列表5.1显示了一个没有定义任何并发或实例行为的服务,它指导WCF使用默认值,ConcurrencyMode.Single和InstanceContextMode.PerSession.当使用这些设置和一个不支持会话的绑定时,比如basicHttpBinding,WCF创建为每个它接收到的请求创建一个新的服务实例并在它自己的线程里执行代码。它在返回前会等待5秒。列表5.1使用默认并发和实例行为的服务
viewsourceprint?
列表5.2显示了调用GetPrice方法三次的客户端代码。客户端代码异步调用这个方法三次然后在退出前等待所有结果返回。图片5.2显示了客户端(左边)和服务端(右边)的输出结果。客户端输出显示三个请求是同步发送的而且结果在5秒钟后返回。服务端输出显示每个客户端请求都创建一个服务类的实例并且每个请求都在它自己的线程内处理。因为basicHttpBinding不支持会话,PerSession默认行为与PerCall一样。InstanceContextMode.PerSession行为指导WCF为每一个请求生成一个新的实例,同时ConcurrencyMode.Single设置指导WCF每个实例只允许一个线程执行。
图片5.2不支持会话的绑定的默认InstanceContextMode和ConcurrencyMode的输出结果
==========
转载自
作者:DanielWise
出处:http://www.cnblogs.com/danielWise/
1 | [ServiceContract] |
2 | public interface IStockService |
3 | { |
4 | [OperationContract] |
5 | double GetPrice( string ticker); |
6 | } |
01 | [ServiceBehavior(ConcurrencyMode=ConcurrencyMode.Single,InstanceContextMode=InstanceContextMode.PerSession)] |
02 | public class StockService:IStockService |
03 | { |
04 | StockService() |
05 | { |
06 | Console.WriteLine( "{0}:CreatednewinstanceofStockServiceonthread" ,DateTime.Now); |
07 | } |
08 | public double GetPrice( string ticker) |
09 | { |
10 | Console.WriteLine( "{0}:GetPricecalledonthread{1}" ,DateTime.Now,Thread.CurrentThread.ManagedThreadId); |
11 | Thread.Sleep(5000); |
12 | return 94.85; |
13 | } |
14 | } |
图片5.2不支持会话的绑定的默认InstanceContextMode和ConcurrencyMode的输出结果
==========
转载自
作者:
出处:
相关文章推荐
- WCF 第五章 不支持会话的绑定的默认并发和实例
- WCF 第五章 控制并发会话的数量
- WCF把书读薄(2)——消息交换、服务实例、会话与并发
- WCF 第五章 控制并发实例的数量
- WCF 第五章 控制并发会话的数量
- WCF 第五章 并发和实例(服务行为)
- WCF 第五章 会话级别的实例
- WCF 第五章 会话级别的实例
- WCF基础之会话、实例和并发
- WCF 第五章 并发和实例(服务行为)
- WCF 第五章 会话级别的实例
- WCF 第五章 控制并发实例的数量
- WCF 第五章 控制并发实例的数量
- wcf会话、实例化、并发
- WCF实例上下文模式与并发模式对性能的影响 转载自:http://log.medcl.net/item/2010/03/wcf-instance-context-mode-and-the-performance-impact-of-conc
- 深入剖析WCF的可靠会话[实例篇](内含美女图片,定力差者慎入)
- WCF学习笔记(五)契约双工通信、多契约绑定及对数据库增删改查等综合实例
- WCF学习:Instance context model(实例模型) 与 Session(会话) 的关系
- WCF实例与并发的一些测试
- WCF 第五章 导出并发布元数据(服务行为)