在Intraweb中,每个用户一次只能有一个相同应用程序的会话

时间:2013-10-07 15:21:29

标签: delphi intraweb

我尝试围绕Delphi 2010的Intraweb进行调查。 我在CRM应用程序中有一个网页,每次用户翻转客户时,网页都会刷新。然而,“旧”页面的会话仍然有效,我得到“该版本仅限于5个活动会话”。 如何删除旧会话,在创建新会话时,它必须是相同的应用程序ID,并且仅适用于当前用户。

1 个答案:

答案 0 :(得分:0)

我最终得到了这个。 https://forums.embarcadero.com/thread.jspa?messageID=525644

procedure TIWServerController.IWServerControllerBaseNewSession
    (ASession: TIWApplication; var VMainForm: TIWBaseForm);
var
    i:      integer;
    List:   TList;
    App:    TIWApplication;
begin
    List:=GSessions.LockList;
    try
        for i:=0 to List.Count - 1 do begin
            App:=TIWApplication(List[i]);
            if App <> ASession then begin
                GSessions.Remove(App);
                App.Free;
            end;
        end;
    finally
        GSessions.UnLockList;
    end;
    ASession.Data:=TIWUserSession.Create(nil);
end;