摘要: Single实例行为,类似于单件设计模式,所有可以客户端共享一个服务实例,这个服务实例是一个全局变量,该实例第一次被调用的时候初始化,到服务器关闭的时候停止。设置服务为Single实例行为,只要设置 [ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]即可。 下面这个代码演示了多个客户端共享一个实例,当启动多个客户端,调用服务契约方法的时候,变量NUM值一直在累加,相当于一个全局静态变量。 服务端代码:[csharp] view plaincopyprint?[ServiceContract] public int. 阅读全文
posted @ 2013-12-23 14:19 gejianhua 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 这一节,大家了解下PerSession实例行为,PerSession表示会话实例行为,当客户端调用服务器后,服务器端会为客户端分配一个新的服务实例,这个实例在服务器端SESSION时间过期后将失效。客户端每调用一次服务,在客户端生成一个新的代理实例,都会产生一个新的会话。 PerSession实例行为有点类似于ASP.NET中的session,但又些不同. 在WCF中使用PerSession实例,需要手动设置行为 [ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)], 默认情况下,WCF的实例行为为PerSe 阅读全文
posted @ 2013-12-23 14:18 gejianhua 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 当客户端调用服务器端服务后,服务器端就会为客户端生成一个实例,关于服务实例的分配问题,在WCF中有专门的属性进行设置,可以让所有客户端共享一个实例,也可以让一个客户端可以拥有多个实例,也可以让一个实例只能被客户端使用一次。 关于实例的分配和使用范围,在WCF通过服务行为的InstanceContextMode枚举进行设置.InstanceContextMode有三种枚举类型 PerSession=0 会话实例,此为默认值 PerCall=1 Single=2 接下来我们看下这三种策略的使用方法 1.PerCall实例 PerCall实例策略是指WCF为每个客户端的每一次请求,都会生成一个新的. 阅读全文
posted @ 2013-12-23 14:17 gejianhua 阅读(815) 评论(0) 推荐(0) 编辑
摘要: WCF 跟并发 性能相关的几个配置:1、系统控制的客户端网络连接并发(如果服务端也需要并发请求的话这个参数也是需要的): 这个参数指定一个进程内(或domain) 并发通信连接个数限制,默认2个(就是系统控制了)2、WCF 网络TCP/IP 监听(bingding)控制的传输协议 这个参数是针对某一(些)端点的绑定的控制 这2个参数: 第一个就是我们常用的listen的参数,这个意义我们应该很清楚了。 第二个参数 msdn解释是: 客户端上可存入池中以备后续重复使用的最大连接数;服务器上可挂起调度的最大连接数。 On the client, th... 阅读全文
posted @ 2013-12-23 14:15 gejianhua 阅读(343) 评论(0) 推荐(0) 编辑
摘要: WCF 跟并发 性能相关的几个配置:1、系统控制的客户端网络连接并发(如果服务端也需要并发请求的话这个参数也是需要的): 这个参数指定一个进程内(或domain) 并发通信连接个数限制,默认2个(就是系统控制了)2、WCF 网络TCP/IP 监听(bingding)控制的传输协议 这个参数是针对某一(些)端点的绑定的控制 这2个参数: 第一个就是我们常用的listen的参数,这个意义我们应该很清楚了。 第二个参数 msdn解释是: 客户端上可存入池中以备后续重复使用的最大连接数;服务器上可挂起调度的最大连接数。 On the client, th... 阅读全文
posted @ 2013-12-23 14:12 gejianhua 阅读(321) 评论(0) 推荐(0) 编辑