从其数据中获取会话

时间:2012-03-09 22:25:24

标签: multithreading delphi session datasnap

我的应用程序中有一个主线程会话,该会话中包含我想访问的有价值数据。通常我只是使用TDSSessionManager.GetThreadSession方法获取会话,但是现在我必须在在主线程之外时访问此会话。

我想到可能通过某种方式引用我的会话中的一些数据,但我不知道如何。 除了您所在的主题之外,还有什么方法可以从其他地方获取会话吗?

2 个答案:

答案 0 :(得分:2)

假设您使用的是最近的Delphi版本,则可以使用 Rtti 来引用它。 TDSSessionManager 实现单例,这将有助于您的工作。

答案 1 :(得分:0)

您可以使用TDSSessionManager循环访问您的会话。实例

TDSSessionManager.Instance.ForEachSession
  (
    procedure(const Session: TDSSession)
    begin
      if Session.HasData('User') then begin
        Listbox1.AddItem(Session.GetData('User'),Session);
      end;
    end
  );