TsgcWebSocketHTTPServerEigenschaften › SessionList

SessionList Eigenschaft

Liste mit den aktiven HTTP-Sitzungen; lesen Sie sie, um Sitzungen per Code zu verwalten, oder weisen Sie Ihre eigene Liste zu, um zu steuern, wo Sitzungen gespeichert werden.

Syntax

property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;

Standardwert

nil, bis der Server aktiviert wird

Hinweise

Lesen Sie SessionList, um Sitzungen anhand des Codes zu suchen, zu erstellen oder zu entfernen, mit GetSession, CreateSession und CreateUniqueSession. Die Liste wird erst erstellt, wenn der Server startet, sie ist also nil, solange der Server nicht aktiv ist.

Weisen Sie Ihre eigene Liste zu, wenn Sie die volle Kontrolle darüber benötigen, wie Sitzungen gespeichert werden, zum Beispiel um sie in einer Datenbank zu halten oder zwischen mehreren Servern zu teilen. Leiten Sie von TIdHTTPDefaultSessionList ab und überschreiben Sie die virtuelle Methode CreateSession; CreateUniqueSession ruft sie intern auf, sodass die eindeutige Sitzungs-ID weiterhin für Sie erzeugt wird. Die Liste muss vor der Aktivierung des Servers zugewiesen werden, da der zugrunde liegende Indy-Server nicht erlaubt, die Sitzungsliste auszutauschen, während er läuft.

Wenn Sie Ihre eigene Liste zuweisen, gilt die Eigenschaft SessionClass nicht mehr, da Ihre Liste entscheidet, welche Klasse erstellt wird. Eine vollständige Erklärung finden Sie unter Sessions.

Beispiel


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;

Zurück zu Properties