Autor Beitrag
Steve1024
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows 2K, XP, 7 & Server 2003 - 2008; Linux (Ubuntu, Fedora)
D7, D05, D06, D09, DXE
BeitragVerfasst: Di 16.01.07 17:02 
Hallöle,

ich habe schon wieder ein Problem. Ich habe versucht mit IntraWeb eine ISAPI Web-Site zu erstellen, das hat soweit ganz gut funktioniert, doch komme ich dabei mit den Komponenten nicht so klar...
Die HTML-Tags funktionieren auch nur bedingt finde ich...

Also habe ich mir nun überlegt, das ganze mittels WebModule zu realisieren (also auch ISAPI). Dabei ist mir nun aber aufgefallen, dass es da gar keine UserSession gibt. Wie kann ich die denn da nun nachträglich mit rein implementieren??

Also über Request und Respone geht es nicht, da diese Objekte bei jedem auftruf neu generiert werden. Über eine extra DB möchte ich das nicht wirklich realisieren. Finde ich unschön...

Geht das denn überhaput, zur laufzeit UserSessions Objekte zu erzeugen und diese dann auch noch an die Clients zu binden?

Vielen Dank schon im Voraus....

Grüße
Steve1024 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows 2K, XP, 7 & Server 2003 - 2008; Linux (Ubuntu, Fedora)
D7, D05, D06, D09, DXE
BeitragVerfasst: Mo 12.02.07 13:24 
habs hinbekommen...
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Mi 14.02.07 18:24 
vielleicht könntest du mal anreißen, wie du das jetzt gemacht hast?
Damit andere, die das gleiche Problem haben auch was davon haben.

_________________
In the beginning was the word.
And the word was content-type: text/plain.
Steve1024 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 141

Windows 2K, XP, 7 & Server 2003 - 2008; Linux (Ubuntu, Fedora)
D7, D05, D06, D09, DXE
BeitragVerfasst: Do 15.02.07 09:58 
das ist vom Prinzip her ganz einfach...

ich habe in einer extra unit eine Klasse TSessionManager geschrieben, welche sich beim Laden der ISAPI Dll automatisch erzeugt.
Dann habe ich im WebModul ja ein UserLogin Formular (geht aber auch ohne), welche den UserManager auffordert eine neue zu UserSession erstellen (TUserSession). Die wird dann im Request als Parameter sid angehängt, welcher als Interger den Pointer zur UserSession zeigt.
So wird dann bei der nächsten Aktualisierung muss sid ausgelesen werden und geprüft werden ob es die session wirklich gibt. Falls nicht, kommt ein Fehler. Ist sie abgelaufen, ebenfalls.

Zusätzlich lass ich noch durch einen Timer in TSessionManager prüfen welche Sessions schon alle abgelaufen sind, welche dann gelöscht werden.

Falls jemand den Source sehen will, kann ich ihn auch noch reinstellen, hab ihn aber gerade nicht da... daher erst morgen... ok?