在Datasnap服务端动态注册类
2013-11-14 10:07
337 查看
原文地址:http://www.andreanolanusse.com/en/registering-datasnap-server-class-in-runtime-with-delphi/
当我们正在DataSnap的应用程序时,我们首先需要注册的服务器类,以提供访问客户端应用程序的服务器方法。通常的做法是使用DSServerClass组件,但有些时候,我们要做到在运行时加载。下面代码实现的类TSimpleServerClass从TDSServerClass继承,超载了Create方法并且增加了ServerClass,DataSnap
Server和LifeCycle三个参数。
现在我们只需要为每个Server Class初始化TSimpleServerClass。下面的代码在同一服务器上注册3个不同生命周期的类。
当我们正在DataSnap的应用程序时,我们首先需要注册的服务器类,以提供访问客户端应用程序的服务器方法。通常的做法是使用DSServerClass组件,但有些时候,我们要做到在运行时加载。下面代码实现的类TSimpleServerClass从TDSServerClass继承,超载了Create方法并且增加了ServerClass,DataSnap
Server和LifeCycle三个参数。
type TSimpleServerClass = class(TDSServerClass) private FPersistentClass: TPersistentClass; protected function GetDSClass: TDSClass; override; public constructor Create(AOwner: TComponent; AServer: TDSCustomServer; AClass: TPersistentClass; ALifeCycle: String); reintroduce; overload; end; procedure RegisterServerClasses(AOwner: TComponent; AServer: TDSServer); implementation constructor TSimpleServerClass.Create(AOwner: TComponent; AServer: TDSCustomServer; AClass: TPersistentClass; ALifeCycle: String); begin inherited Create(AOwner); FPersistentClass := AClass; Self.Server := AServer; Self.LifeCycle := ALifeCycle; end; function TSimpleServerClass.GetDSClass: TDSClass; begin Result := TDSClass.Create(FPersistentClass, False); end;
现在我们只需要为每个Server Class初始化TSimpleServerClass。下面的代码在同一服务器上注册3个不同生命周期的类。
procedure RegisterServerClasses(AOwner: TComponent; AServer: TDSServer); begin Assert(AServer.Started = false, 'Can''t add class to non active Server'); TSimpleServerClass.Create(AOwner, AServer, TGlobal, TDSLifeCycle.Server); TSimpleServerClass.Create(AOwner, AServer, TCustomer, TDSLifeCycle.Session); TSimpleServerClass.Create(AOwner, AServer, TObjectPool, TDSLifeCycle.Invocation); end;怎么样,简单实用吧!
相关文章推荐
- Delphi2010中DataSnap高级技术(2)—DataSnap服务端和客户端发布分发方法
- DataSnap服务端和客户端发布分发方法
- datasnap 2010 DataSnap服务端和客户端发布分发方法
- DataSnap侦听端口动态设置问题
- datasnap 2010 客户端如何调用服务端上自定义的方法
- DataSnap侦听端口动态设置问题
- Delphi2010中DataSnap高级技术(2)—DataSnap服务端和客户端发布分发方法
- Delphi2010中DataSnap高级技术(2)—DataSnap服务端和客户端发布分发方法
- datasnap——动态注册服务类
- 如何跟踪datasnap 服务端日志
- REST Datasnap服务端与javascript客户端实现
- datasnap服务端与客户端的对象传递
- datasnap——动态注册服务类 datasnap——动态注册服务类 在DataSnap的应用程序时,我们首先需要注册的服务器类,以提供访问客户端应用程序的服务器方法。通常的做法是使用DSSer
- Delphi XE10 开发DataSnap服务端驱动问题解决
- EXT的combobox的store动态加载固定DATA
- 2.WSDL、服务端已经开发好,客户端动态调用服务端开放的服务
- axios+vue+element-ui以服务端方式动态加载loading
- DATASNAP REST WEBSERVICES中间件如何跨平台使用
- datasnap 2010 为DataSnap系统服务程序添加描述
- DataSnap 新特色