TsgcWebSocketHTTPServerPropriétés › SessionClass

SessionClass Propriété

Classe utilisée par le serveur pour créer de nouvelles sessions HTTP ; définissez-la sur votre propre descendant de TIdHTTPSession pour stocker des données personnalisées dans chaque session.

Syntaxe

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

Valeur par défaut

TIdHTTPSession

Remarques

Par défaut, le serveur crée des objets TIdHTTPSession ordinaires. Définissez SessionClass sur un descendant de TIdHTTPSession et le serveur créera cette classe à la place, pour chaque session, y compris celles créées automatiquement lorsque AutoStartSession est activé. L'ID de session unique, le cookie de session, SessionTimeOut et la suppression des sessions périmées continuent de fonctionner exactement comme avant.

Redéfinissez le constructeur virtuel CreateInitialized dans votre descendant si vous souhaitez initialiser vos propres champs à la création de la session. Relisez la session depuis ARequestInfo.Session et transtypez-la vers votre classe.

SessionClass doit être défini avant que le serveur soit activé, et ne peut pas être nil. Si vous affectez votre propre SessionList, cette propriété ne s'applique plus, car votre liste décide quelle classe créer. Consultez Sessions pour une explication complète, et notez que l'événement OnCreateSession n'est pas la manière recommandée de changer la classe de session.

Exemple


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;

Retour aux propriétés