TsgcWebSocketHTTPServer속성 › SessionList

SessionList 속성

활성 HTTP 세션을 담고 있는 목록입니다. 코드로 세션을 관리하려면 이 목록을 읽거나, 세션이 저장되는 위치를 제어하려면 자체 목록을 할당하십시오.

구문

property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;

기본값

서버가 활성화되기 전까지는 nil

설명

GetSession, CreateSession, CreateUniqueSession을 사용하여 코드로 세션을 검색, 생성 또는 제거하려면 SessionList를 읽으십시오. 이 목록은 서버가 시작될 때만 생성되므로 서버가 활성 상태가 아닌 동안에는 nil입니다.

세션이 저장되는 방식을 완전히 제어해야 할 때, 예를 들어 데이터베이스에 보관하거나 여러 서버 간에 공유할 때 자체 목록을 할당하십시오. TIdHTTPDefaultSessionList에서 상속하고 가상 CreateSession 메서드를 재정의하십시오. CreateUniqueSession이 이를 내부적으로 호출하므로 고유 세션 ID는 여전히 자동으로 생성됩니다. 기본 Indy 서버는 실행 중에 세션 목록이 교체되는 것을 허용하지 않으므로, 목록은 서버가 활성화되기 전에 할당해야 합니다.

자체 목록을 할당하면, 목록이 생성할 클래스를 결정하므로 SessionClass 속성은 더 이상 적용되지 않습니다. 자세한 설명은 Sessions를 참조하십시오.

예제


type
  TMySessionList = class(TIdHTTPDefaultSessionList)
  public
    function CreateSession(const RemoteIP, SessionID: string)
      : TIdHTTPSession; override;
  end;

function TMySessionList.CreateSession(const RemoteIP, SessionID: string)
  : TIdHTTPSession;
begin
  Result := TMySession.CreateInitialized(Self, SessionID, RemoteIP);
  SessionList.Add(Result);
end;

oServer.SessionList := TMySessionList.Create(nil);
oServer.Active := true;

속성으로 돌아가기