Ich verwende Codebeispiele aus diesem Artikel von Rick Strahl: Ссылка , um async zu machen ruft zu einem WCF-Dienst auf, der einfach klasse funktioniert.
Mein Problem ist das: Der erste Aufruf an den WCF-Dienst dauert in der Nähe von 20 ms, während der nächste ungefähr 1 Sekunde 20 ms dauert (genau dasselbe tun und genau dieselben Daten empfangen). Wenn ich den Vorgang wiederhole, ist das Ergebnis immer gleich. Jeder zweite Anruf dauert eine Sekunde länger als der erste.
Ich habe versucht, den InstanceContextMode auf meinem Dienst zu setzen:
%Vor%Ich habe auch Timer in den Methoden gesetzt, die für den Service aufgerufen werden, und das Ergebnis ist jedes Mal dasselbe (natürlich einige ms Unterschiede, aber nichts Wesentliches)
%Vor%(Diese Werte - JSON_Took & amp; Set_took - sind Timer im Code hinter Methoden. Also nicht die Gesamtzeit von Client-Server-Client. Es ist einfach zu veranschaulichen, dass es kein Problem mit dem tatsächlichen Code ist zeitaufwendig)
Irgendwelche Ideen?
Lassen Sie es mich wissen, wenn Sie weitere Informationen benötigen.
---- Interessantes Update ----
Ich habe IE9 RC und Firefox heruntergeladen (ich habe in Chrome getestet) Meine Ergebnisse aus den verschiedenen Browsern:
Firefox : Alle Anrufe sind konsistent bei ca. 1s 20ms bis 1s 30ms
Chrome : Jeder zweite Aufruf wird mit der Geschwindigkeit von Firefox und der Rest mit einer Sekunde schneller ausgelöst.
IE9 : Alle Anrufe sind praktisch zu keiner Zeit konsistent (~ 20ms)
Opera : So ziemlich wie IE9 (~ 30ms)
Ist das ein Webkit-Problem? (Ich benutze $ .ajax, um den WCF anzurufen)
Ich würde nicht auf die Zeiten vom Devserver angewiesen sein. Was passiert, wenn Sie Ihren Dienst für IIS (oder sogar IIS Express) bereitstellen? Der VS2010 DevServer ist nicht so zuverlässig von einem Server für Timings und wird kein guter Indikator für die Produktionsleistung sein.
Hier ist ein guter Artikel (obwohl etwas veraltet), um die Unterschiede zwischen IIS und dem Visual Studio Web Server (alias Cassini) zu diskutieren.
Schön, dass das hilft!
Tags und Links wcf c# jquery asynchronous