Eine Sitzung zum Web-Modul hinzufügen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Datenbankinformationen in Antworten integrieren


CGI-Konsolenanwendungen werden als Antwort auf eine HTTP-Anforderungsbotschaft gestartet. Wenn Sie in Anwendungen dieses Typs mit Datenbanken arbeiten, können Sie über die Standardsitzung Ihre Datenbankverbindungen verwalten, da jede Anforderungsbotschaft über eine eigene Instanz der Anwendung verfügt. Jede Instanz der Anwendung besitzt eine gesonderte Standardsitzung.

Wenn Sie dagegen eine ISAPI- oder eine NSAPI-Anwendung erstellen, wird jede Anforderungsbotschaft in einem separaten Thread einer einzigen Anwendungsinstanz verarbeitet. Um einen Konflikt zwischen Datenbankverbindungen aus unterschiedlichen Threads zu vermeiden, müssen Sie jedem Thread eine eigene Sitzung zuweisen.

Jede in einer ISAPI- oder NSAPI-Anwendung eintreffende Anforderungsbotschaft spaltet einen neuen Thread ab. Das Web-Modul für diesen Thread wird dynamisch zur Laufzeit erzeugt. Fügen Sie ein TSession-Objekt zum Web-Modul hinzu, welches die Datenbankverbindungen für den Thread verwaltet, der das Web-Modul enthält.

Zur Laufzeit wird für jeden Thread eine separate Instanz des Web-Moduls erzeugt. Jedes dieser Module enthält das Sitzungsobjekt. Jeder Sitzung muss ein eigener Name zugewiesen werden, damit zwischen den Datenbankverbindungen der Threads, die separate Anforderungsbotschaften verarbeiten, keine Konflikte entstehen. Wenn für die Sitzungsobjekte in den einzelnen Modulen dynamisch eigene Namen generiert werden sollen, setzen Sie für jedes Sitzungsobjekt die Eigenschaft AutoSessionName. Die Sitzungsobjekte erzeugen dann dynamisch eindeutige Namen für sich selbst und setzen die Eigenschaft SessionName aller Datenmengen in dem Modul so, dass auf diese eindeutigen Namen verwiesen wird. Dadurch können sämtliche Interaktionen mit der Datenbank für jeden einzelnen Anforderungs-Thread durchgeführt werden, ohne die jeweils anderen Anforderungsbotschaften zu beeinträchtigen. Weitere Informationen zu Sitzungen finden Sie unter Datenbanksitzungen verwalten.

Siehe auch