TsgcWebSocketHTTPServer › Özellikler › SessionList
Etkin HTTP oturumlarını tutan liste; oturumları kodla yönetmek için okuyun veya oturumların nerede saklanacağını denetlemek için kendi listenizi atayın.
property SessionList: TIdHTTPCustomSessionList read GetSessionList write SetSessionList;
Sunucu etkinleştirilene kadar nil
Koda göre oturum aramak, oluşturmak veya kaldırmak için GetSession, CreateSession ve CreateUniqueSession kullanarak SessionList özelliğini 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 kontrole ihtiyaç duyduğunuzda, örneğin onları bir veritabanında tutmak veya birkaç sunucu arasında paylaşmak için kendi listenizi atayın. TIdHTTPDefaultSessionList'ten türeyin ve sanal CreateSession yöntemini geçersiz kılın; CreateUniqueSession onu dahili olarak çağırır, bu nedenle benzersiz oturum kimliği yine de sizin için üretilir. Liste, sunucu etkinleştirilmeden önce atanmalıdır, çünkü altta yatan Indy sunucusu çalışırken oturum listesinin değiştirilmesine izin vermez.
Kendi listenizi atadığınızda, SessionClass özelliği artık geçerli değildir, çünkü hangi sınıfın oluşturulacağına listeniz karar verir. Tam bir açıklama için Sessions'a bakın.
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;