【问题标题】:Getting a session from its data从其数据中获取会话
【发布时间】:2012-03-09 22:25:24
【问题描述】:

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

我想通过某种方式引用其中的一些数据来获取我的会话,但我不知道如何。 有什么方法可以从你所在的线程之外的其他地方获取会话?

【问题讨论】:

    标签: multithreading delphi session datasnap


    【解决方案1】:

    假设您使用的是最新的 Delphi 版本,您可以使用 Rtti 对其进行引用。 TDSSessionManager 实现了单例,这将有助于您的工作。

    【讨论】:

    • delphi 版本有多新? (2010 年及以后?甚至更早?)
    • 我正在使用 Delphi XE2。我想要一个更详细的答案。我将如何准确引用它?
    【解决方案2】:

    您可以使用 TDSSessionManager 循环浏览您的会话。实例

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

    【讨论】:

      猜你喜欢
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 2019-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多