TsgcWebSocketHTTPServerEigenschappen › SessionClass

SessionClass Eigenschap

Klasse die door de server wordt gebruikt om nieuwe HTTP-sessies aan te maken; stel deze in op uw eigen afstammeling van TIdHTTPSession om aangepaste gegevens in elke sessie op te slaan.

Syntaxis

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

Standaardwaarde

TIdHTTPSession

Opmerkingen

Standaard maakt de server gewone TIdHTTPSession-objecten aan. Stel SessionClass in op een afstammeling van TIdHTTPSession en de server maakt in plaats daarvan die klasse aan, voor elke sessie, ook voor de sessies die automatisch worden aangemaakt wanneer AutoStartSession is ingeschakeld. Het unieke sessie-ID, de sessiecookie, SessionTimeOut en het verwijderen van verlopen sessies blijven precies zoals voorheen werken.

Overschrijf de virtuele constructor CreateInitialized in uw afgeleide klasse als u uw eigen velden wilt initialiseren wanneer de sessie wordt aangemaakt. Lees de sessie terug uit ARequestInfo.Session en cast deze naar uw klasse.

SessionClass moet worden ingesteld voordat de server wordt geactiveerd, en mag niet nil zijn. Als u uw eigen SessionList toewijst, is deze eigenschap niet langer van toepassing, omdat uw lijst bepaalt welke klasse wordt aangemaakt. Zie Sessies voor een volledige uitleg, en merk op dat de gebeurtenis OnCreateSession niet de aanbevolen manier is om de sessieklasse te wijzigen.

Voorbeeld


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;

Terug naar Properties