Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#8

Re: WebService - Nur mit webserver möglich?

  Alt 20. Feb 2010, 17:17
Zitat von moelski:
Wird jeder Client der den Webservice nutzt mit einem eigenen Thread bedient?
Und wenn ja ... Dann kann ich ja nicht ohne weiteres mit der Hauptanwendung Daten austauschen ... !?
Ah, jetzt verstehe ich die Frage

Wenn der Standalone Web Service Server einen Request vom Client erhält, wird er in einem eigenen Thread bearbeitet (auslesen, verarbeiten, Response zum Client zurücksenden). Wenn also 'globale' Daten im Web Server verwendet werden sollen, dann müssen diese ausserhalb der Threads threadsicher verwaltet werden. Zum Beispiel wenn umfangreiche Daten aus der Datenbank gecached werden um sie nicht bei jedem Request erst auszulesen, dann sind diese in einer Liste, auf die mehrere Threads gleichzeitig zugreifen. Wenn dabei auch schreibende Zugriffe stattfinden, müssen diese natürlich so synchronisiert werden, dass es keine Konflikte gibt. Dazu können TCriticalSection & Co. verwendet werden.

Tipp: ich würde den Web Service Server nicht als Windows-Formularanwendung sondern als Konsolenanwendung oder als Dienst aufbauen, damit es nicht noch störende Einflüsse der Windows Events auf das Programm gibt, der Server sollte möglichst "schlank" sein.

Viele Grüße,
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat