TsgcHTTPServer › Özellikler › SessionList

SessionList Özellik

Etkin HTTP oturumlarını tutan liste; kodla oturumları yönetmek için okuyun veya oturumların nerede saklandığını kontrol etmek için kendi listenizi atayın.

Sözdizimi

property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;

Varsayılan Değer

nil sunucu etkinleştirilene kadar

Remarks

GetSession, CreateSession ve CreateUniqueSession kullanarak kodla oturum aramak, oluşturmak veya kaldırmak için SessionList'i okuyun. Liste yalnızca sunucu başladığında oluşturulur, bu nedenle sunucu etkin değilken nil'dir.

Oturumların nasıl saklandığı üzerinde tam kontrole ihtiyaç duyduğunuzda, örneğin onları bir veritabanında tutmak veya birden çok sunucu arasında paylaşmak için kendi listenizi atayın. TIdHTTPDefaultSessionList'ten türetin ve sanal CreateSession yöntemini geçersiz kılın; CreateUniqueSession bunu dahili olarak çağırır, böylece benzersiz oturum kimliği yine de sizin için üretilir. Liste, sunucu etkinleştirilmeden önce atanmalıdır, çünkü alttaki Indy sunucusu çalışırken oturum listesinin değiştirilmesine izin vermez.

Kendi listenizi atadığınızda, SessionClass özelliği 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.

Örnek


type
  TMySessionList = class(TIdHTTPDefaultSessionList)
  public
    function CreateSession(const RemoteIP, SessionID: string)
      : TIdHTTPSession; override;
  end;

function TMySessionList.CreateSession(const RemoteIP, SessionID: string)
  : TIdHTTPSession;
begin
  Result := TMySession.CreateInitialized(Self, SessionID, RemoteIP);
  SessionList.Add(Result);
end;

oServer.SessionList := TMySessionList.Create(nil);
oServer.Active := true;

Özelliklere Dön