TsgcWebSocketHTTPServerPropriedades › SessionList

SessionList Propriedade

Lista que contém as sessões HTTP ativas; leia-a para gerenciar sessões por código, ou atribua sua própria lista para controlar onde as sessões são armazenadas.

Sintaxe

property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;

Valor Padrão

nil até o servidor ser ativado

Observações

Leia SessionList para procurar, criar ou remover sessões por código, usando GetSession, CreateSession e CreateUniqueSession. A lista só é criada quando o servidor inicia, portanto ela é nil enquanto o servidor não estiver ativo.

Atribua sua própria lista quando precisar de controle total sobre como as sessões são armazenadas, por exemplo mantendo-as em um banco de dados ou compartilhando-as entre vários servidores. Descenda de TIdHTTPDefaultSessionList e sobrescreva o método virtual CreateSession; CreateUniqueSession o chama internamente, portanto o ID único de sessão continua sendo gerado para você. A lista deve ser atribuída antes de o servidor ser ativado, porque o servidor Indy subjacente não permite substituir a lista de sessões enquanto ele está em execução.

Quando você atribui a sua própria lista, a propriedade SessionClass deixa de se aplicar, porque a sua lista é que decide qual classe criar. Veja Sessions para uma explicação completa.

Exemplo


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;

Voltar para Propriedades