调用场景
经典的C/S程序
客户端使用远程,有状态的对象并且在其生命周期内进行控制
分布式,可扩展的应用程序
通过及时释放远程对象来节省资源的使用
分布式的单件
多个客户端共享状态
经典的无状态的Web服务调用
实例模型
控制服务实例的生命周期
InstanceContextMode枚举
PerCall 无状态的服务调用,每次调用是一种独立调用,调用之间无相互关联
PerSession 在session范围内是有状态的调用
Single
ServiceBehavriorAttibute控制这个设置
PerCall为每个调用创建新的服务对象
服务可以增加整体吞吐量(服务需要的时候被创建,用完即被销毁)
1.状态不会在多次调用中存在
2.服务实例被释放
3.内存开销小
4.不会产生并发问题
perCall的体系结构
无状态的调用
为每个请求分别实例化业务逻辑层和数据层
不存在并发性问题