DataSnap Session expired处理。
测试环境:RAD 10.2.3
建立DataSet Server服务端连接oracle数据库。
1.客户端用FDConnection连接服务端,协议为TCP/IP时,当服务端重启,不用再重启客户端。
2.客户端如果用DSRestConnection时,用产生的代理类进行远程调用时,如果把服务端重启,则会出现http/1.1 403 session expired.
此时要把DSRestConnection的PreserveSessionID设置为False且在服务端把DSHTTPWebDispatcher1的SessionTimeout设置为0即可。
客户端如果用FDConnection连接服务端并用http通信,则不用代理类,直接用FDStoredProc1调用远程函数即可,但需设置FDConnection的CommunicationTimeout为0,
服务端DSHTTPWebDispatcher1的SessionTimeout设置为0即可,否则会出现http/1.1 500 session expired.
同理,如果用SQLConnection用http连接服务端时,也要把它的CommunicationTimeout设置为0。
注:如果用FDConnection或SQLConnection,并用http连接时,最好的方法是在执行一个过程后把它们close即可,不用设置CommunicationTimeout这个属性.