Ich rufe einen .net Webservice von meiner .net Winforms App, beide in Framework 4.0. Während der Ausführung des Programms, wenn der Webservice das erste Mal eine Methode aufgerufen hat, dauert der Aufruf ~ 10-12 Sekunden. Nachfolgende Anrufe dauern ~ 1-2 Sekunden. Nachfolgende Aufrufe, auch wenn die Web-Referenzinstanz neu erstellt wird, sind immer noch ~ 1-2 Sekunden. Wenn die Winforms-App neu gestartet wird, tritt die erste Anrufverzögerung erneut auf, nachfolgende Anrufe reagieren jedoch.Der erste Anruf bei einem .net Webservice ist langsam
Die Instanz der Webreferenz wird vor dem Aufruf erstellt und ist nicht Teil der Verzögerung.
XmlSerializers für die Winforms App werden generiert (und verwendet, soweit ich weiß, aber ich bin mir nicht sicher, wie dies zu überprüfen).
Die Verzögerung tritt nicht aufgrund einer Erst-Compilierung auf der Webservice-Seite auf. Dies ist ein Webservice für die Produktion, der den ganzen Tag verwendet wird und dessen Apppool im Speicher verbleibt. Soweit ich sehen kann, tritt die Verzögerung entweder auf der Clientseite oder zwischen dem Client und dem Server für diesen ersten Anruf auf, jedoch nicht bei nachfolgenden Anrufen.
Nicht sicher, was als nächstes zu überprüfen ist. Irgendwelche Ideen?
Beachten Sie, dass der erste Anruf langsamer sein wird, aber es sollte nicht so langsam sein. – tier1
Ich vermute, die Antwort liegt wahrscheinlich irgendwo in dieser Frage/Antwort-Kombination: http://stackoverflow.com/questions/6988981/webclient-isvery-slow Insbesondere betrachte ich Proxy-Probleme. – spender
Haben Sie "Einstellungen automatisch erkennen" für Ihren Proxy in Internetoptionen auf der fehlerhaften Maschine? – spender