TsgcWebSocketHTTPServerPropriétés › SessionList

SessionList Propriété

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.

Syntaxe

property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;

Valeur par défaut

nil jusqu'à ce que le serveur soit activé

Remarques

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.

Exemple


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;

Retour aux propriétés