DataSnap 生命周期
来源:互联网 发布:java 反射获取方法 编辑:程序博客网 时间:2024/05/23 01:18
DataSnap 的服务器对象的生命周期依赖于DSServerClass组件的设置
当DSServer启动时从DSServerClass组件读取LifeCycle属性的值
注意:LifeCycle的值由于在启动时就已经读取 启动后再修改LifeCycle的值将没有任何效果
LifeCycle属性的值可以是以下三种字符串之一
1.Session
该选项为默认设置
每个连接都会建立一个独立的服务器对象为客户端提供服务,服务器对象在连接关闭后释放
因此多个客户端访问的是不同的服务器对象,是线程安全的
2.Invocation
对于每次服务端方法调用建立一个独立的服务器对象为客户端提供服务,服务器对象在调用结束后释放
这个同样也是线程安全的
但是每次调用都创建和释放服务器对象对于频繁调用的系统影响很大,如果把服务端对象用对象池管理配合此种方式将是个非常不错的解决方案
3.Server
所有的客户端使用同一个服务端对象,也就是该对象是单例的
需要开发人员自己来进行同步的控制,不是线程安全的
在服务端对象创建和释放时将触发DSServerClass的两个重要的事件OnCreateInstance和OnDestroyInstance
在这里我们可以使用自定义创建和释放服务器对象 同样我们可以用于服务端对象池
下面我们把上一次的DEMO稍微改动下来观察下服务端对象的生命周期
我们先将DSServer组件的AutoStart设置为False 然后拖上两个Button分别完成Start和Stop的调用
0 0
- DataSnap 生命周期
- datasnap服务端数据模块没有生命周期问题
- DataSnap
- DataSnap 2009 系列之三 (生命周期篇)
- DataSnap—TDSServerClass中Lifecycle生命周期三种属性说明
- Delphi2010中DataSnap高级技术(7)—TDSServerClass中Lifecycle生命周期三种属性说明
- Delphi2010中DataSnap高级技术(7)—TDSServerClass中Lifecycle生命周期三种属性说明
- Delphi2010中DataSnap高级技术(7)—TDSServerClass中Lifecycle生命周期三种属性说明
- 什么是DataSnap
- DATASNAP文件传输
- DataSnap基础
- DataSnap理解
- 什么是DataSnap
- DataSnap概述
- DataSnap基础
- datasnap经典
- 从 MIDAS 到 DataSnap
- DataSnap 新特色
- 准小白计划
- sofia sip开发一 基础知识
- iOS应用的crash日志的分析基础
- easyUI 横向竖向分割线
- 精灵性能优化-使用精灵帧缓存
- DataSnap 生命周期
- JAVA读、写EXCEL文件
- libxml2经验--xmlReadFile
- 求点在直线上的投影
- Android 友盟社会化组件-分享实现
- hadoop 2.2.0 终于编译ok了
- 中英文全角字符转为半角字符
- js中的数组和字符串的一些方法
- sofia sip开发二 编译库