Wie Sie warten, für das Ergebnis der asynchronen web-service-Aufruf in ASP.NET für die beste Leistung

In WebForms ASP.NET Website (IIS, single app pool), ich Ruf zu langen web-service-Methode verwiesen, die in Visual Studio als Service-Referenz (.NET 4.0). Leider muss ich warten, bis Informationen aus dem web-Dienst vor, kann ich dienen-Seite an Benutzer. Derzeit web-service aufgerufen wird synchron so server können nicht wiederverwenden aktuellen thread zur Bearbeitung anderer Anträge, die hat Auswirkungen auf die Leistung.

Natürlich kann ich generieren asynchrone Operationen für die service reference in Visual Studio und rufen Sie BeginGetFoo statt GetFoo, aber noch muss ich warten, irgendwie zum Ergebnis aus dem web service.

Hier kommt Frage. Wenn ich AsyncWaitHandle.WaitOne (wie unten) wird es sein, besser in der gesamten application-performance-Begriffe aus der synchronen Aufruf benutze ich heute?

IAsyncResult result = fooSoapClient.BeginGetFoo();
result.AsyncWaitHandle.WaitOne();
var foo = fooSoapClient.EndGetFoo(result);

Und natürlich, wenn Sie warten besser machen kann bin ich offen für Vorschläge.

  • Möchten Sie vielleicht Lesen Sie die folgende Dokumentation: msdn.microsoft.com/en-us/library/2e08f6yc(v=vs. 100).aspx als Antwort auf Ihre questin dass die subjektive. Sie haben nicht genug Informationen
  • Für die beste Leistung, nicht warten, sondern Fortsetzungen. Der code, den Sie geschrieben hat so ziemlich das gleiche wie ein synchroner Aufruf.
  • Ich habe es gelesen. Welche Informationen benötigen Sie, ich werde froh sein, um es hinzuzufügen?
InformationsquelleAutor Pol | 2012-02-08
Schreibe einen Kommentar