TsgcWebSocketHTTPServerPropiedades › SessionClass

SessionClass Propiedad

Clase usada por el servidor para crear nuevas sesiones HTTP; asígnele su propio descendiente de TIdHTTPSession para almacenar datos personalizados en cada sesión.

Sintaxis

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

Valor Predeterminado

TIdHTTPSession

Observaciones

De forma predeterminada, el servidor crea objetos TIdHTTPSession simples. Establezca SessionClass con un descendiente de TIdHTTPSession y el servidor creará esa clase en su lugar, para cada sesión, incluidas las que se crean automáticamente cuando AutoStartSession está habilitado. El ID de sesión único, la cookie de sesión, SessionTimeOut y la eliminación de sesiones caducadas siguen funcionando exactamente igual que antes.

Sobrescriba el constructor virtual CreateInitialized en su descendiente si quiere inicializar sus propios campos cuando se crea la sesión. Recupere la sesión de ARequestInfo.Session y conviértala a su clase.

SessionClass debe establecerse antes de que se active el servidor, y no puede ser nil. Si asigna su propia SessionList, esta propiedad deja de aplicarse, porque su lista decide qué clase crear. Consulte Sesiones para una explicación completa, y tenga en cuenta que el evento OnCreateSession no es la forma recomendada de cambiar la clase de sesión.

Ejemplo


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;

Volver a Propiedades