TsgcWebSocketHTTPServerPropriedades › SessionClass

SessionClass Propriedade

Classe usada pelo servidor para criar novas sessões HTTP; defina-a como o 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 com um descendente de TIdHTTPSession e o servidor criará essa classe em vez dele, para cada sessão, incluindo as criadas automaticamente quando AutoStartSession está ativado. O ID único de sessão, o cookie de sessão, SessionTimeOut e a remoção de sessões obsoletas continuam funcionando exatamente como antes.

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

SessionClass deve ser definido antes de o servidor ser ativado, e não pode ser nil. Se você atribuir seu próprio SessionList, esta propriedade deixa de se aplicar, porque sua lista decide qual classe criar. Veja Sessions para uma explicação completa, e observe que o evento OnCreateSession não é a forma 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