基于HTTP的DataSnap session管理

uses System.StrUtils, Datasnap.DSSession, SessionStoreObjectUI;

function TServerMethods1.EchoString(Value: string): string; begin   Result := Value; end;

function TServerMethods1.ReverseString(Value: string): string; begin   Result := System.StrUtils.ReverseString(Value); end;

//客户端调用http storeobject方法存储session key

function TServerMethods1.StoreObject(key, a, b, c: string): string; var   Session: TDSSession;   Inst: TMySessionClass;   Dest: String; begin   Session := TDSSessionManager.GetThreadSession;   if Assigned(Session) then   begin     Inst := TMySessionClass.Create;     Inst.a := a;     Inst.b := b;     Inst.c := c;     Session.PutObject(key, Inst);

    //return the URL wish Session ID in it for     //testing getting the session data back     Dest := 'http://localhost:8080/datasnap/rest/TServerMethods1/GetObject/' + key + '?sid=' + Session.SessionName;

    Form3.SetThenText(Dest);

    Exit(Dest);   end;

  Result := 'Failed to add the object to the session'; end;

//客户端调用http getobject获得session内容

procedure TServerMethods1.GetObject(key: string; out a, b, c: string); var   Session: TDSSession;   Inst: TMySessionClass; begin   Session := TDSSessionManager.GetThreadSession;   if Assigned(Session) then   begin     Inst := TMySessionClass(Session.GetObject(key));     if Assigned(Inst) then     begin       a := Inst.a;       b := Inst.b;       c := Inst.c;       Exit;     end;   end;   a := 'Failed to load data for key: ' + key; end;

转载于:https://www.cnblogs.com/HuiLove/p/3958230.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值