TsgcHTTPServer › Proprietà › SessionList

SessionList Proprietà

Elenco che contiene le sessioni HTTP attive; leggerlo per gestire le sessioni via codice, oppure assegnare un proprio elenco per controllare dove vengono memorizzate le sessioni.

Sintassi

property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;

Valore predefinito

nil finché il server non viene attivato

Note

Leggere SessionList per cercare, creare o rimuovere sessioni via codice, utilizzando GetSession, CreateSession e CreateUniqueSession. L'elenco viene creato solo all'avvio del server, quindi è nil finché il server non è attivo.

Assegnare un proprio elenco quando è necessario il controllo completo su come vengono memorizzate le sessioni, ad esempio conservandole in un database o condividendole tra più server. Discendere da TIdHTTPDefaultSessionList ed eseguire l'override del metodo virtuale CreateSession; CreateUniqueSession lo richiama internamente, quindi l'ID di sessione univoco continua a essere generato automaticamente. L'elenco deve essere assegnato prima che il server venga attivato, perché il server Indy sottostante non consente di sostituire l'elenco delle sessioni mentre è in esecuzione.

Quando si assegna un proprio elenco, la proprietà SessionClass non si applica più, perché è l'elenco a decidere quale classe creare. Vedere Sessioni per una spiegazione completa.

Esempio


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;

Torna alle Proprietà