TsgcWebSocketHTTPServer › Propriétés › SessionList
Liste contenant les sessions HTTP actives ; lisez-la pour gérer les sessions par code, ou affectez votre propre liste pour contrôler où les sessions sont stockées.
property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;
nil jusqu'à ce que le serveur soit activé
Lisez SessionList pour rechercher, créer ou supprimer des sessions par code, à l'aide de GetSession, CreateSession et CreateUniqueSession. La liste n'est créée qu'au démarrage du serveur, elle est donc nil tant que le serveur n'est pas actif.
Affectez votre propre liste lorsque vous avez besoin d'un contrôle total sur la façon dont les sessions sont stockées, par exemple en les conservant dans une base de données ou en les partageant entre plusieurs serveurs. Dérivez de TIdHTTPDefaultSessionList et redéfinissez la méthode virtuelle CreateSession ; CreateUniqueSession l'appelle en interne, de sorte que l'ID de session unique est toujours généré pour vous. La liste doit être affectée avant que le serveur soit activé, car le serveur Indy sous-jacent ne permet pas de remplacer la liste des sessions pendant son exécution.
Lorsque vous affectez votre propre liste, la propriété SessionClass ne s'applique plus, car votre liste décide quelle classe créer. Voir Sessions pour une explication complète.
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;