TsgcWebSocketHTTPServerEigenschaften › SessionClass

SessionClass Eigenschaft

Klasse, die der Server zum Erstellen neuer HTTP-Sitzungen verwendet; setzen Sie sie auf Ihren eigenen TIdHTTPSession-Nachkommen, um in jeder Sitzung benutzerdefinierte Daten zu speichern.

Syntax

property SessionClass: TsgcIdHTTPSessionClass read GetSessionClass write SetSessionClass;
// TsgcIdHTTPSessionClass = class of TIdHTTPSession

Standardwert

TIdHTTPSession

Hinweise

Standardmäßig erstellt der Server einfache TIdHTTPSession-Objekte. Setzen Sie SessionClass auf einen Nachkommen von TIdHTTPSession, und der Server erstellt stattdessen diese Klasse, für jede Sitzung, einschließlich jener, die automatisch erstellt werden, wenn AutoStartSession aktiviert ist. Die eindeutige Sitzungs-ID, das Sitzungs-Cookie, SessionTimeOut und das Entfernen abgelaufener Sitzungen funktionieren weiterhin genau wie zuvor.

Überschreiben Sie den virtuellen Konstruktor CreateInitialized in Ihrer abgeleiteten Klasse, wenn Sie beim Erzeugen der Sitzung eigene Felder initialisieren möchten. Lesen Sie die Sitzung aus ARequestInfo.Session zurück und casten Sie sie auf Ihre Klasse.

SessionClass muss vor der Aktivierung des Servers gesetzt werden und darf nicht nil sein. Wenn Sie Ihre eigene SessionList zuweisen, gilt diese Eigenschaft nicht mehr, weil Ihre Liste entscheidet, welche Klasse erstellt wird. Siehe Sessions für eine vollständige Erklärung, und beachten Sie, dass das Ereignis OnCreateSession nicht die empfohlene Methode ist, um die Session-Klasse zu ändern.

Beispiel


type
  TMySession = class(TIdHTTPSession)
  private
    FUserName: String;
  public
    property UserName: String read FUserName write FUserName;
  end;

oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.SessionState := true;
oServer.SessionTimeout := 600000;
oServer.SessionClass := TMySession;
oServer.Active := true;

Zurück zu Properties