2013-10-07 4 views
-1

Delphi 2010에 대한 Intraweb를 조사하려고합니다. CRM 응용 프로그램 내에 웹 페이지가 있으며 사용자가 고객을 넘길 때마다 웹 페이지가 새로 고쳐집니다. 그러나 "이전"페이지의 세션은 활성 상태로 유지되고 "편집 세션은 5 개의 활성 세션으로 제한됩니다." 새 세션을 만들 때 이전 세션을 제거하려면 어떻게해야합니까? 원인은 동일한 응용 프로그램 ID 여야하며 현재 사용자에 대해서만 필요합니다.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; 
관련 문제