J'ai une application Web qui interroge un service Web sur un autre serveur. Le serveur se trouve sur le même réseau et est référencé par une adresse IP interne sur le port 8080.HttpWebRequest non retourné, fermeture de la connexion
Toutes les 15 secondes, une requête est envoyée, qui reçoit une réponse xml avec des informations sur le travail. 95% du temps, cela fonctionne bien, mais à des moments aléatoires, la demande au serveur est nulle, et signale une "réponse forcée fermée par l'hôte distant."
En recherchant ce problème, d'autres ont défini KeepAlive = false. Cela n'a pas résolu le problème. Le serveur web tourne .NET 3.5 SP1.
Uri serverPath = new Uri(_Url);
// create the request and set the login credentials
_Req = (HttpWebRequest)WebRequest.Create(serverPath);
_Req.KeepAlive = false;
_Req.Credentials = new NetworkCredential(username, password);
_Req.Method = this._Method;
Appel à la réponse:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
_ResponseStream = response.GetResponseStream();
La méthode pour cela est GET. J'ai essayé de changer le délai d'attente, mais la valeur par défaut est suffisamment grande pour en tenir compte.
L'autre requête que nous effectuons est un POST pour publier des données sur le serveur, et nous recevons le même problème de manière aléatoire. Il n'y a aucun pare-feu affectant ceci, et nous avons écarté le scanner de virus. Toutes les idées pour aider à résoudre ce problème sont grandement appréciées!
Quelle est la fréquence des déconnexions? Quelque chose d'intéressant dans le journal du serveur? – jdigital
Etes-vous certain que ce n'est pas le serveur qui ferme les connexions sur vous? Il est tout à fait possible que ce soit un bug sur le serveur et non sur votre client. –