TsgcWebSocketHTTPServerÖzellikler › SessionList

SessionList Özellik

Etkin HTTP oturumlarını tutan liste; oturumları kodla yönetmek için okuyun ya da oturumların nerede saklandığını denetlemek için kendi listenizi atayın.

Sözdizimi

property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;

Varsayılan Değer

sunucu etkinleştirilene kadar nil

Remarks

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

Oturumların nasıl saklandığı üzerinde tam denetime ihtiyaç duyduğunuzda, örneğin bunları bir veritabanında tutmak veya birkaç sunucu arasında paylaşmak için kendi listenizi atayın. TIdHTTPDefaultSessionList sınıfından türetin ve sanal CreateSession yöntemini geçersiz kılın; CreateUniqueSession bunu dahili olarak çağırır, bu yüzden benzersiz oturum ID'si yine sizin için üretilir. Liste, sunucu etkinleştirilmeden önce atanmalıdır, çünkü temel alınan Indy sunucusu, çalışırken oturum listesinin değiştirilmesine izin vermez.

Kendi listenizi atadığınızda, SessionClass özelliği artık geçerli olmaz, çünkü hangi sınıfın oluşturulacağına listeniz karar verir. Ayrıntılı bir açıklama için Oturumlar bölümüne 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