TsgcHTTPServer › Özellikler › SessionClass

SessionClass Özellik

Sunucunun yeni HTTP oturumları oluşturmak için kullandığı sınıf; her oturumda özel veri saklamak için kendi TIdHTTPSession alt sınıfınıza ayarlayın.

Sözdizimi

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

Varsayılan Değer

TIdHTTPSession

Remarks

Varsayılan olarak sunucu düz TIdHTTPSession nesneleri oluşturur. SessionClass'ı TIdHTTPSession'ın bir alt sınıfına ayarlayın, sunucu bunun yerine her oturum için, AutoStartSession etkinleştirildiğinde otomatik olarak oluşturulanlar da dahil olmak üzere, bu sınıfı oluşturacaktır. Benzersiz oturum kimliği, oturum çerezi, SessionTimeOut ve eskimiş oturumların kaldırılması tam olarak öncekiyle aynı şekilde çalışmaya devam eder.

Oturum oluşturulduğunda kendi alanlarınızı ilklendirmek istiyorsanız alt sınıfınızda sanal yapıcı CreateInitialized'ı geçersiz kılın. Oturumu ARequestInfo.Session'dan geri okuyun ve kendi sınıfınıza dönüştürün.

SessionClass sunucu etkinleştirilmeden önce ayarlanmalıdır ve nil olamaz. Kendi SessionList'inizi atarsanız, bu özellik artık uygulanmaz, çünkü hangi sınıfın oluşturulacağına listeniz karar verir. Ayrıntılı bir açıklama için Sessions konusuna bakın ve OnCreateSession olayının oturum sınıfını değiştirmek için önerilen yol olmadığını unutmayın.

Örnek


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

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

Özelliklere Dön