Forum: Datenbanken
by Kostas,
31. Mär 2015
Hallo Zusammen,
ich habe jetzt doch die Anforderung auf die Nutzdaten der drei Objekte TCPConnection, Channel und DSSession
zuzugreifen. Zwar nicht lebenswichtig aber zum logen sehr nützlich. Eine schmutzige Methode wäre sicherlich
nachdem für das erzeugen der Session der Event gefeuert wurde eine thread zu starten der periodisch die
SessionID vom Channel abfragt und sobald sie gesetzt ist,...
Forum: Datenbanken
by Kostas,
30. Mär 2015
STOPP hat sich erledigt!!!
Der Hinweis vom Uwe über den TDSSessionManager zu gehen ist richtig.
Ich muss das Session Objekt nicht speichern. Über den Channel hab ich den Zugriff auf die SessionID,
zwar nicht sofort aber das ist für mich völlig ausreichend. Zu dem Zeitpunkt wo ich lesend auf die
Session Infos zugreifen möchte, hatt die Connection längst die SessionID. Somit ist alles in...
Forum: Datenbanken
by Kostas,
30. Mär 2015
Sorry Uwe,
gemein ist, wenn der Event feuert für eine neue Session, ist die Session ID
über den Channel nicht erreichbar, eine Sekunde später kann ich über den Channel die SessionID abrufen.
Was ich damit erreichen will ist, im Session Object steckt der Username, Zeitpunkt und weitere Infos
der sich angemeldet hat.
Die hätte ich gerne im Zugriff.
Forum: Datenbanken
by Kostas,
30. Mär 2015
Hallo Uwe,
zum Zeitpunkt an dem der DSTCPServerTransport1ConnectEvent gefeuert wird, ist die Session ID leer.
An dieser Stelle schnappe ich mir die TCPConnection und den Channel, aber wie gesagt die SessionID
ist zu diesem Zeitpunkt noch nicht bekannt. Sie wird etwas später erzeugt. Danach kann ich
durchaus über den Channel die SessionID abrufen.
Wenn der Event für die Session gefeuer...
Forum: Datenbanken
by Kostas,
30. Mär 2015
Hallo,
genau das habe ich vor. Das Problem ist, der Event für eine neue Session wird irgend wann gefeuert
und ich finde keine Referenz zu dem Channel oder der Connection.
Wenn der Event feuert weis ich nicht zu welcher Connection oder Channel dieser gehört.
Sicherlich ist die Session mit der Connection verbunden do genau das ist die Frage, wie komme ich zur Connection oder dem Channel?
...
Forum: Datenbanken
by Kostas,
30. Mär 2015
Hallo Zusammen,
sobald ein User sich mit dem DataSnap Server verbindet, wird ein TIdTCPConnection und ein TDSTCPChannel Object angelegt.
Ziemlich gleich erzeugt der DataSnapServer ein TDSSession Object.
Es wurde ein Event Registriert und somit bekomme ich das mit.
procedure TfrMain.AddSessionListener;
begin