Langsame Webdienst- (und WCF-Dienst) Aufrufe von Windows 7

8

Ich erstelle eine .NET 3.5 Winforms-App, die WCF-Dienste (wsHttp-Bindung) verwendet, um mit meinem Server zu kommunizieren, der Daten von SQL Server erhält und an die Winforms-App (Smart Client) zurückgibt. Ich merke, dass es seit dem Start von Windows 7 RTM eine Verzögerung von 30 Sekunden gibt, wenn die WCF das erste Mal kommuniziert, von diesem Punkt an ist es normal wie zuvor.

Ich bemerkte, dass eine andere Anwendung (Desaware-Lizenzierungssystem), die ASMX-Dienste verwendet, auch das gleiche Problem hat, eine Startverzögerung, dann ist alles in Ordnung.

Bei diesem ersten Start handelt es sich nicht um ein .NET-Komplizen- / JIT-Problem. Ich kann die App sofort schließen und erneut ausführen. Auf dem Server wird Windows 2003 / IIS 6 ausgeführt. Vor Windows 7 war alles in Ordnung.

Ich habe versucht, meine Antivirensoftware zu entfernen, dasselbe Problem. Ich kann nicht herausfinden, warum es diese anfängliche Verzögerung gibt, eine signifikante Verzögerung. Ich merke auch im Debug-Fenster, wie die Anwendung eine Verzögerung als System.IdentityModel Zeile startet, sieht es aus, als ob es eine Sicherheit / Authentifizierung Änderung auf Windows 7 Ich nehme an, dass diese Verzögerung verursacht.

Hat jemand Vorschläge zur Lösung dieses Problems? VS 2008 / .NET 3.5.

Danke.

    
Neal 02.09.2009, 19:37
quelle

4 Antworten

14

Ich habe den folgenden Eintrag in die Bindungskonfiguration eingefügt und scheint das Problem gelöst zu haben.

useDefaultWebProxy="false"

    
Neal 08.09.2009, 17:02
quelle
2

Ich hatte das gleiche Problem. Ich erstelle meinen Proxy mit einem ChannelFactory-Objekt und stellte fest, dass zusätzlich zur Angabe von useDefaultWebProxy für die verbindungsserverseitige Seite auch die Option clientseitig angegeben werden muss:

%Vor%

Ich habe festgestellt, dass das Problem nur bei Verwendung der aktuellen Windows-Anmeldeinformationen aufgetreten ist. Wenn Sie bestimmte Anmeldeinformationen übergeben, war die Leistung wie erwartet. Durch das Festlegen der UseDefaultWebProxy-Clientseite wurde das Problem jedoch behoben.

Hoffe das hilft jemandem irgendwo!

    
Simon 25.11.2010 11:31
quelle
0

Eine Verzögerung von 30 Sekunden, es klingt, als würde es auf etwas warten und dann nach 30 Sekunden das Zeitlimit erreichen.

Es hat wahrscheinlich etwas mit der Authentifizierung zwischen Ihrem Windows 7-Rechner und dem Server zu tun. Das Überprüfen des Ereignisprotokolls wäre ein guter Anfang.

    
Shiraz Bhaiji 02.09.2009 20:47
quelle
-1

Dies funktionierte für mein Windows 7 und die Verbindung zu einem WebServer

useDefaultWebProxy="false"

Danke Douglas

    
user227642 09.12.2009 02:11
quelle

Tags und Links