AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DataSnap von der Session auf den Channel oder der TCPConnection kommen
Thema durchsuchen
Ansicht
Themen-Optionen

DataSnap von der Session auf den Channel oder der TCPConnection kommen

Ein Thema von Kostas · begonnen am 30. Mär 2015 · letzter Beitrag vom 31. Mär 2015
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: DataSnap von der Session auf den Cannel oder der TCPConnection kommen

  Alt 30. Mär 2015, 17:33
AFAIK läuft doch jede Verbindung in einem eigenen Thread. Somit hätte man die ThreadID um die Informationen zusammenzuführen.

Aber wie Uwe schon sagt, man muss wegen der Referenzen aufpassen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.599 Beiträge
 
Delphi 12 Athens
 
#2

AW: DataSnap von der Session auf den Cannel oder der TCPConnection kommen

  Alt 30. Mär 2015, 17:39
Vielleicht solltest du mal sagen, welche Informationen du genau brauchst. Vielleicht musst du dazu gar nicht die Instanzen speichern.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#3

AW: DataSnap von der Session auf den Cannel oder der TCPConnection kommen

  Alt 30. Mär 2015, 17:44
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.

Gruß Kostas

Geändert von Kostas (30. Mär 2015 um 20:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: DataSnap von der Session auf den Cannel oder der TCPConnection kommen

  Alt 30. Mär 2015, 17:47
Aber das Session-Object hast du doch?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.599 Beiträge
 
Delphi 12 Athens
 
#5

AW: DataSnap von der Session auf den Cannel oder der TCPConnection kommen

  Alt 30. Mär 2015, 17:54
Das Session-Objekt kannst du auch jederzeit (zumindest solange sie gültig ist) über TDSSessionManager.GetThreadSession abrufen. Das ist manchmal ganz praktisch, wenn man User-bezogene Daten innerhalb einer ServerMethode verwenden will.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#6

AW: DataSnap von der Session auf den Cannel oder der TCPConnection kommen

  Alt 30. Mär 2015, 17:56
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 Ordnung
und ich muss das Session Objekt nicht speichern.


TDSSessionManager.Instance.Session[SessionIdList.Items[0]].UserName Sorry ich hatte einen falschen Gedankengang.
Gruß Kostas


[Edit] DataSnap mit Connection pooling macht jetzt so richtig Laune.
Herzlichen Dank wieder einmal für die großartige Hilfe.

Geändert von Kostas (30. Mär 2015 um 20:55 Uhr)
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#7

AW: DataSnap von der Session auf den Channel oder der TCPConnection kommen

  Alt 31. Mär 2015, 12:39
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, alles ins log zu schreiben.

Ist es in Ordnung wenn ich die Frage nochmals in Embarcadero http://community.embarcadero.com stelle?

Gruß Kostas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz