TsgcWebSocketHTTPServerPropiedades › SessionList

SessionList Propiedad

Lista que contiene las sesiones HTTP activas; léala para gestionar las sesiones por código, o asigne su propia lista para controlar dónde se almacenan las sesiones.

Sintaxis

property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;

Valor Predeterminado

nil hasta que el servidor se activa

Observaciones

Lea SessionList para buscar, crear o eliminar sesiones por código, utilizando GetSession, CreateSession y CreateUniqueSession. La lista solo se crea cuando el servidor arranca, por lo que es nil mientras el servidor no está activo.

Asigne su propia lista cuando necesite un control total sobre cómo se guardan las sesiones, por ejemplo para mantenerlas en una base de datos o compartirlas entre varios servidores. Derive de TIdHTTPDefaultSessionList y sobrescriba el método virtual CreateSession; CreateUniqueSession lo llama internamente, así que el ID de sesión único se sigue generando por usted. La lista debe asignarse antes de activar el servidor, porque el servidor Indy subyacente no permite reemplazar la lista de sesiones mientras está en marcha.

Cuando asigna su propia lista, la propiedad SessionClass deja de aplicarse, porque es su lista la que decide qué clase crear. Vea Sessions para una explicación completa.

Ejemplo


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;

Volver a Propiedades