实例模型-学习笔记
来源:互联网 发布:日本身份证 知乎 编辑:程序博客网 时间:2024/06/03 22:41
调用场景
经典的C/S程序
客户端使用远程,有状态的对象并且在其生命周期内进行控制
分布式,可扩展的应用程序
通过及时释放远程对象来节省资源的使用
分布式的单件
多个客户端共享状态
经典的无状态的Web服务调用
实例模型
控制服务实例的生命周期
InstanceContextMode枚举
PerCall 无状态的服务调用,每次调用是一种独立调用,调用之间无相互关联
PerSession 在session范围内是有状态的调用
Single
ServiceBehavriorAttibute控制这个设置
PerCall为每个调用创建新的服务对象
服务可以增加整体吞吐量(服务需要的时候被创建,用完即被销毁)
1.状态不会在多次调用中存在
2.服务实例被释放
3.内存开销小
4.不会产生并发问题
perCall的体系结构
无状态的调用
为每个请求分别实例化业务逻辑层和数据层
不存在并发性问题
会话(session)
wcf有四种类型的会话
传输会话:如TCP和命名管道
可靠性会话:消息的投递,可以确认的发到服务端,还有消息的有序性
安全会话:加密
应用程序会话
wcf会话和ASP.NET的会话之间的区别:wcf会话由客户端发起,asp.NET的会话由服务端进行初始化
perSession会引入客户端多线程的问题
session的模型
SessionMode枚举:
Allowed(缺省)实例有可能是perSession,有可能是PerCall,主要看具体的Banding
NotAllowed
Required
会话的缺省生命周期10分钟,在绑定上可以设置receivetimeout来设定
如果在函数中设置IsTerminating=true,那么在函数调用之后会话就会被清除掉,不用等到会话超时。
IsInitiating也是一样,如果设置为true,那么之前没建立session则建立session
单件模型
为所有客户的所有调用创建单一的服务对象
- 实例模型-学习笔记
- 神经网络模型学习笔记
- RFM模型学习笔记
- django学习笔记(模型)
- 隐马尔可夫模型学习笔记
- LDA模型学习笔记
- IO模型学习笔记
- Djanog学习笔记-模型
- 线性模型学习笔记
- ThinkPHP学习笔记(六)实例化模型的四种方法
- 【Unity 3D】学习笔记四十七:实例——观察模型
- Tensorflow学习笔记:模型训练数据的保存和恢复的简单实例
- Hibernate 实例学习笔记
- Oracle学习笔记-实例
- ViewDragHelper实例学习笔记
- Delphi 对象模型学习笔记
- Delphi 对象模型学习笔记
- AppFuse学习笔记-模型层
- Android - FrameLayout覆盖顺序
- ThinkPHP教程---9--配置加载
- ThinkPHP教程---10--读取配置
- ThinkPHP教程--11--动态配置
- ThinkPHP教程---12--扩展配置
- 实例模型-学习笔记
- ThinkPHP教程--13--批量配置
- Android - 系统语言(language)定制资源值(values)
- 第十六章之Handler处理机制
- ThinkPHP教程--14--模块化设计
- Android - Activity定制横屏(landscape)显示
- ThinkPHP教程--14--URL模式
- 【csapp】【微软面试题】有符号数到无符号数隐式转换
- 云计算现状分析