Datasnap Image】的更多相关文章

在网络程序开发过程中,面临TCP  HTTP 的选择上往往让人陷入犹豫不决中,http的灵活和较强的穿透能力是TCP无法与之相提并论的,然而在响应速度和处理能力上却能看出后者比前者足够强大的地方.因此,在小量数据的传输上,倾向 选择http,如果不得已,也尽量把数据格式化后传输,如比较流行的Restful  就是传输的JSON串来避免大量的数据集传输堵塞网络,这就需要对数据 进行解析和处理.但DataSnap整合了这些功能 tabletoJSON  JSONTOTable  可与c#中使用New…
DelphiXE2中的DataSnap中提供了三种不同的生命周期,开发人员可以在TDSServerClass控件的LifeCycle特性中设定,下面分别说明每一种生命周期的意义 1. Server:在整个DataSnap服务端中只会建立一个服务端类别对象以服务所有的用户端,只有当DataSnap服务器结束 才会释放该服务类别对象 2. Session:在DataSnap服务器中会为每一个连接的用户端建立一个专属的服务类别对象服务此用户端,移动用户端结束 或是关闭TSQLConnection的连接…
DelphiXE2 DataSnap开发技巧收集 作者:  2012-08-07 09:12:52     分类:Delphi     标签: 作为DelphiXE2 DataSnap开发的私家锦囊,在此收集一些DataSnap开发有关的技巧及注意事项.有此是网站看到的,有些则是自已开发中遇到并总结出来的. 1.在布置ISAPI方式的服务器程序时 作为DelphiXE2 DataSnap开发的私家锦囊,在此收集一些DataSnap开发有关的技巧及注意事项.有此是网站看到的,有些则是自已开发中遇到…
DataSnap 2009 系列之三 (生命周期篇) DataSnap 2009的服务器对象的生命周期依赖于DSServerClass组件的设置 当DSServer启动时从DSServerClass组件读取LifeCycle属性的值 注意:LifeCycle的值由于在启动时就已经读取 启动后再修改LifeCycle的值将没有任何效果 LifeCycle属性的值可以是以下三种字符串之一 1.Session 该选项为默认设置 每个连接都会建立一个独立的服务器对象为客户端提供服务,服务器对象在连接关闭…
datasnap的初步 生命期LifeCycle   TDSServerClass有一个属性LifeCycle,这个属性有三个值,很好理解1.Session,这是默认值.就是一个连接,一个Session,一个Session的意思就是连接上来后,服务器端就创建一个DSServerClassGetClass里返回的PersistentClass一个实例,并一直保持到连接断开,所有这期间的ServerMethod调用,都是这个实例的调用.所以这是线程安全的. 2.Server顾名思义,就是全局就一个P…
从Delphi 2009开始,DataSnap技术发生了很大的变化,并在Delphi 2010和Delphi XE的后续版本中得到了持续的改进.Delphi 2009之前的DataSnap,虽然也实现了对中间层的方法调用,但那是基于COM技术的,实现起来比较麻烦,而且最关键的,是不能直接返回数据集(TDataSet).如今,基于JSON的DataSnap,已经脱离了COM的束缚,可以很方便地直接返回数据集.我们在开发多层的数据库应用时,就可以采用全新的方式来进行,即客户端的所有数据查询和更新,可…
DataSnap到了Delphi2010有了很大的变化,已经可以完全抛弃DCOM之类的东西了,在以前版本中建立一个DataSnap,需要使用DCOMConnection或者SockConnection来连接到服务器,而在Delphi2010中提供了一个新的连接组件:TDSProviderConnection,可以更方便地来连接服务器. 先来学习一个简单的DataSnap: 新建一个工程,在Delphi Project中选择DataSnap Server组,然后选择其中的DataSnap Serv…
用TIDHttp访问DataSnap Rest服务器,在服务器采用了用户验证的情况下,客户端需要注意下面的细节,否则不能正常连接. 假如服务器有如下的用户验证: procedure TSC.DSAuthenticationManager1UserAuthenticate(Sender: TObject; const Protocol, Context, User, Password: string; var valid: Boolean; UserRoles: TStrings); var sC…
转载:http://blogs.embarcadero.com/jimtierney/2009/04/06/31461/ DataSnap Server Method Stream Parameters This is a continuation of my posts on DataSnap server method parameters and return types.  This post is about  TStream and TDBXStreamValue.    The s…
DataSnap可以直接传递和返回TStream类型的参数,这点是很方便的.但是很多人发现好像大小稍微大点就工作不正常了,就变相使用其它类型转换来转换去,这样便利性就失去了. 官方有篇博客很详细的介绍了stream的使用,英文好的可以去看下DataSnap Server Method Stream Parameters DataSnap默认的缓存大小是32k 所以如果流的大小超过这个大小就会被自动分成多个包,这就是传递大量数据的基础,如果一次性发送就可能受到内存的限制. 当传递大量数据时获取到的…