Benutzer mit den meisten Antworten
Asynchrone Verarbeitung in einem Webservice

Frage
-
Hi Leute,
ich möchte ein Webservice entwickeln der für den Anfang nur eine Funktion haben soll, die mir eine Liste von Objekten in JSON zurückliefern soll. Diese Anforderung kann ich soweit auch umsetzen.
In der Web-Service-Funktion wird eine Funktion aufgerufen die schon 5-10 Sekunden dauern kann. In der Consumer-App kann/werde ich für diese Zeit eine "Wird geladen"-Message anzeigen.
Meine Frage ist, was passiert wenn jetzt mehrer Clients auf diesen Service zur gleichen Zeit zugreifen würden? Wird die Funktion nur von dem ersten Aufrufer verarbeitet und ist solange blockiert oder kann WCF/IIS mehrere Anfragen parallel verarbeiten?
Meine Idee war, dass beim Eintritt in die Webservice-Funktion die darin aufgerufene Funktion Asynchron ausgeführt wird. Damit blockiere ich die Hauptfunktion nicht für andere Clients. Aber wie bekomme ich nach Abschluss der Asynchronen-Funktion die Ergebnisse an die App zurückgeliefert (da ich während dessen ja schon lange außerhalb der Webservice-Funktion bin!)?
Ich hoffe ich konnte meine Frage/Problem einigermaßen verständlich beschreiben und ihr könnt mir ein wenig Klarheit geben bzw. mich auf Vorgehensweise bei solchen Problemen hinweisen.
Gruß
Rudolf
"Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." Georg Bernhard Shaw
- Bearbeitet Rudolf Grauberger Dienstag, 11. September 2012 07:24
Dienstag, 11. September 2012 07:23
Antworten
-
Hallo Rudolf,
es gibt ein sehr schönes Beispiel von Ron Jacobs. Vielleicht hilft Dir das weiter:
How to: Implement and Consume a WCF Asynchronous Service Operation
http://code.msdn.microsoft.com/How-to-Implement-a-WCF-2090bec8
Schöne Grüße
Oliver
- Als Antwort markiert Rudolf Grauberger Dienstag, 18. September 2012 23:54
Dienstag, 11. September 2012 08:05
Alle Antworten
-
Hallo Rudolf,
es gibt ein sehr schönes Beispiel von Ron Jacobs. Vielleicht hilft Dir das weiter:
How to: Implement and Consume a WCF Asynchronous Service Operation
http://code.msdn.microsoft.com/How-to-Implement-a-WCF-2090bec8
Schöne Grüße
Oliver
- Als Antwort markiert Rudolf Grauberger Dienstag, 18. September 2012 23:54
Dienstag, 11. September 2012 08:05 -
Hallo Oliver,
vielen Dank, dass sieht sehr gut aus. Ich werde es heute Abends ausprobieren und dann den Thread auf Erledigt setzen.
Solange kann ja vielleicht jemand die ersten beiden Fragen beantworten.
1. Meine Frage ist, was passiert wenn jetzt mehrer Clients auf diesen Service zur gleichen Zeit zugreifen würden?
2. Wird die Funktion nur von dem ersten Aufrufer verarbeitet und ist solange blockiert oder kann WCF/IIS mehrere Anfragen parallel verarbeiten?
Gruß
Rudolf
"Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." Georg Bernhard Shaw- Bearbeitet Rudolf Grauberger Dienstag, 11. September 2012 09:07
Dienstag, 11. September 2012 09:07 -
Hallo Oliver,
vielen Dank für den sehr hilfreichen Link. Habe mal zum Test einen Webservice so aufgebaut und es funktioniert super.
Gruß
Rudolf
"Der Nachteil der Intelligenz besteht darin, dass man ununterbrochen gezwungen ist, dazuzulernen." Georg Bernhard ShawMittwoch, 19. September 2012 22:13