Nous avons une application .NET 3.5 qui appelle un webservice sur le serveur. Dans presque chaque installation de cette application, l'ensemble du processus demande/réponse prend environ une demi-seconde.Qu'est-ce qui peut causer un retard de deux minutes dans l'appel d'un service Web?
Dans une installation particulière, ces demandes prennent mystérieusement presque exactement 85 secondes (en une demi-seconde). Mon premier réflexe était que le client webservice reconstruisait l'assembly de sérialisation XML à chaque appel, mais même envoyer directement un fichier xml codé en dur prenait presque exactement le même temps. Regarder le trafic réseau semble indiquer que la partie réelle des données d'envoi de la transaction se passe en moins d'une seconde. Donc, le problème est du côté du client.
Y a-t-il une sorte de retard des autorisations qui pourrait causer ce problème? L'application est un wrapper de base autour des requêtes webservice - tapez quelques paramètres, envoyez une requête au webservice et obtenez une réponse. Nous avons commencé avec le code client généré par l'outil wsdl.exe, mais nous avons également essayé d'utiliser directement HttpWebRequest lorsque nous avons rencontré les problèmes. De suivre les journaux et les traces du réseau, le flux semble être:
T 0:00 - user initiates request
T 1:24 - the application sends request to server
T 1:25 - the client receives the response and displays to the user.
À ce stade, il faut que ce soit l'authentification, ce qui est l'ensemble de la sécurité sur votre service web? –
Il fonctionne sur http simple sans authentification sur un VPN. –