TsgcWebSocketHTTPServer › Eigenschappen › SessionList
Lijst met de actieve HTTP-sessies; lees hem om sessies via code te beheren, of wijs uw eigen lijst toe om te bepalen waar sessies worden opgeslagen.
property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;
nil totdat de server is geactiveerd
Lees SessionList om sessies op code te zoeken, aan te maken of te verwijderen, met GetSession, CreateSession en CreateUniqueSession. De lijst wordt pas aangemaakt wanneer de server start, dus is deze nil zolang de server niet actief is.
Wijs uw eigen lijst toe wanneer u volledige controle nodig hebt over hoe sessies worden opgeslagen, bijvoorbeeld door ze in een database te bewaren of ze tussen meerdere servers te delen. Erf van TIdHTTPDefaultSessionList en overschrijf de virtuele methode CreateSession; CreateUniqueSession roept die intern aan, dus de unieke sessie-ID wordt nog steeds voor u gegenereerd. De lijst moet worden toegewezen voordat de server wordt geactiveerd, omdat de onderliggende Indy-server het niet toestaat de sessielijst te vervangen terwijl hij draait.
Wanneer u uw eigen lijst toewijst, is de eigenschap SessionClass niet langer van toepassing, omdat uw lijst bepaalt welke klasse wordt aangemaakt. Zie Sessions voor een volledige uitleg.
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;