Je construisie une application de Winforms .NET 3.5 qui utilise des services WCF (liaison WSHTTP) pour communiquer sur mon serveur qui reçoit des données de SQL Server et le repasse à l'application WinForms (client intelligent). Je me suis remarqué depuis que Windows 7 RTM est d'environ 30 secondes, la première fois que la WCF communique, à partir de ce point, elle est normale comme avant. p>
J'ai remarqué une autre application (système de licence DESAWARE) qui utilise des services ASMX expérimente également ce même problème, un délai de démarrage, alors tout va bien. p>
Ce premier démarrage n'est pas un problème de complilation / JIT, je peux fermer l'application immédiatement et le refaire. Le serveur exécute Windows 2003 / IIS 6. Tout allait bien avant Windows 7. P>
J'ai essayé de supprimer mon logiciel anti-virus, même problème. Je ne peux pas comprendre pourquoi il y a ce délai initial, un important à cela. Je remarque aussi dans la fenêtre de débogage car l'application démarre un délai comme la ligne System.IDidityModel, il semble qu'il existe une modification de sécurité / authentification sur Windows 7, je présume que cela provoque ce délai. P>
Quelqu'un a-t-il des suggestions sur la manière de résoudre ce problème? Vs 2008 / .NET 3.5. P>
merci. p>
4 Réponses :
Un délai de 30 secondes, sonne comme si elle attend quelque chose puis à la fin de 30 secondes. P>
C'est probablement quelque chose à voir avec l'authentification entre votre machine Windows 7 et le serveur. Vérification du journal des événements serait un bon endroit pour commencer. P>
La prochaine chose ensuite à vérifier est le réseau. Les deux machines sont-elles dans le même domaine? Y a-t-il un pare-feu entre les machines ou entre les machines et le contrôle de domaine? En outre, test de Windows XP, au cas où il y a eu un changement dans le code.
J'ai ajouté l'entrée suivante dans la configuration de liaison et il semble avoir résolu le problème. P>
utiliséefaultwebProxy = "faux" p>
J'aimerais pouvoir donner plus d'un uppote; Cela a sauvé ma journée! Merci beaucoup!
Ceci a fonctionné pour mes fenêtres 7 et connectez-vous à un serveur Web P>
utiliséefaultwebProxy = "faux" p>
merci Douglas P>
Je rencontrais le même problème. Je crée mon proxy à l'aide d'un objet canayselyPory et j'ai constaté que, en plus de spécifier d'ajoutéfaultwebProxy pour le côté serveur de liaison, il était également nécessaire de spécifier le côté client d'option:
HttpTransportBindingElement httpTransport = new HttpTransportBindingElement { MaxBufferPoolSize = int.MaxValue, MaxBufferSize = int.MaxValue, MaxReceivedMessageSize = int.MaxValue, AuthenticationScheme = System.Net.AuthenticationSchemes.Ntlm, UseDefaultWebProxy = false }