2013-10-07 7 views
-1

Я пытаюсь исследовать внутри Intraweb для Delphi 2010. У меня есть веб-страница внутри приложения CRM, и каждый раз, когда пользователь перебрасывает клиента, веб-страница обновляется. Однако сеансы «старых» страниц остаются активными, и я получаю «издание ограничено 5 активными сеансами». Как удалить старые сеансы, когда создается новый сеанс, он должен быть одним и тем же идентификатором приложения и только для текущего пользователя.Только один сеанс одного и того же приложения, за пользователя, за один раз, в Intraweb

+0

Возможно, в этом есть ответ. Я построил решение из него, но я не могу отправить ответ до 8 часов. В любом случае нужно протестировать его с помощью многопользовательских пользователей, но он должен работать. https://forums.embarcadero.com/thread.jspa?messageID=525644 – user1611655

ответ

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; 
Смежные вопросы