![]() |
Webservice mit Datenbank
Hallo Zusammen,
ich hätte eine Frage bezüglich eines Webservice (CGI-Bin und ISAPI), welcher mit einer Datenbank kommuniziert. Die Anfragen an den Webservice funktionieren, doch leider wird bei jeder Anfrage an den Webservice die Datenbankverbindung neuaufgebaut und am Ende wieder abgebaut. Auf dem WebModul habe ich die Komponente "TSQLConnection", welche ich im OnCreate mit der Datenbank verbinde. Mit ist es klar, dass es daran liegt. aber eine andere Möglichkeit habe ich bisher nicht gefunden. Gibt es eine Möglichkeit die Datenbankverbindung geöffnet zu lassen, solange die Session aktiv ist? Viele Grüße Christian |
AW: Webservice mit Datenbank
Ohne jetzt Deine Implementierungsdetails zu kennen - so ein Webservice kann ja parallel angefragt werden, und eine Datenbankverbindung von mehreren Threads aus gleichzeitig zu verwenden scheint mir kein guter Plan zu sein.
Eine mögliche Vorgehensweise wäre ein Pool von Verbindungen, von dem Du jeweils anforderst und der sicherstellt, dass diese nicht andeweitig verwendet wird. Ob und wieweit das klappt, hängt natürlich auch von der Datenbank ab (erlaubt die es überhaupt, Verbindungen auf nen anderen Thread zu verschieben?). |
AW: Webservice mit Datenbank
Handelt es sich um ein "HTTPApp.TWebModule"? Dann gilt vermutlich dieses hier:
Zitat:
![]() Somit ist es "by design" für jeden HTTP Request immer ein neues WebModule, das auch jeweils eine neue Instanz der Datenbankobjekte auf dem WebModule erzeugt. Die Lösung zur Verbesserung der Antwortzeit ist (wie schon vorgeschlagen wurde) ein Connection-Pool. Update: ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 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-2025 by Thomas Breitkreuz