TsgcWebSocketHTTPServerPropriedades › SessionClass

SessionClass Propriedade

Classe utilizada pelo servidor para criar novas sessões HTTP; defina-a como seu próprio descendente de TIdHTTPSession para armazenar dados personalizados em cada sessão.

Sintaxe

property SessionClass: TsgcIdHTTPSessionClass read GetSessionClass write SetSessionClass;
// TsgcIdHTTPSessionClass = class of TIdHTTPSession

Valor Padrão

TIdHTTPSession

Observações

Por padrão, o servidor cria objetos TIdHTTPSession simples. Defina SessionClass como um descendente de TIdHTTPSession e o servidor criará essa classe em vez disso, para cada sessão, incluindo as criadas automaticamente quando AutoStartSession está habilitado. O session ID único, o cookie de sessão, SessionTimeOut e a remoção de sessões obsoletas continuam funcionando exatamente como antes.

Sobrescreva o construtor virtual CreateInitialized em seu descendente se desejar inicializar seus próprios campos quando a sessão é criada. Leia a sessão de volta a partir de ARequestInfo.Session e faça o cast para sua classe.

SessionClass deve ser definida antes de o servidor ser ativado, e não pode ser nil. Se você atribuir sua própria SessionList, esta propriedade deixa de se aplicar, porque sua lista decide qual classe criar. Consulte Sessions para uma explicação completa e observe que o evento OnCreateSession não é a maneira recomendada de alterar a classe de sessão.

Exemplo


type
  TMySession = class(TIdHTTPSession)
  private
    FUserName: String;
  public
    property UserName: String read FUserName write FUserName;
  end;

oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.SessionState := true;
oServer.SessionTimeout := 600000;
oServer.SessionClass := TMySession;
oServer.Active := true;

Voltar para Propriedades