Einzelnen Beitrag anzeigen

Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#13

AW: WebModule & ADOConnection in Service -> Speicherübrelauf

  Alt 15. Jan 2017, 14:31
Also anscheinend wird beim erstmaligen verbinden eine Instanz von TWebModule angelegt, danach (vorerst) keine weitere. Ich habe einen Testclient gebaut welcher eine Anfrage schickt, auf ein Response wartet und wenn ein Response ankam gleich den nächsten Request abschickt. Dann rutschte er zu Beginn zwei mal in die WebModuleCreate und anschließend lief alles im Alleingang (hatte beim Debugen nur einen Haltepunkt in der Create und in der Destroy), Destroy wurde auch erst bei Beendigung des kompletten Services ausgeführt.
Irgendwas ist da mächtig Faul
Da ist nix faul. Es wird ein Pool von WebModule-Instanzen erstellt: Bei mehreren gleichzeitigen Anfragen, werden neue Instanzen erstellt, die bleiben dann auch erhalten und jede neue Anfrage wird an eine dieser Instanzen geschickt.

CoInitialize(nil) und CoUnitialize war auch mein nächster Tipp im Create, das funktioniert auch, komischerweise aber nur bis zu einem bestimmten Punkt, ab einer gewissen Anzahl von Anfragen wirft er mir plötzlich trotzdem eine Exception das CoInitialize nicht aufgerufen wurde.
CoInitialize sollte nur 1 mal zu Beginn aufgerufen werden. Daher nicht im Create des Webmodule aufrufen, da das ja mehrfach geschehen kann.
  Mit Zitat antworten Zitat