私は別のサーバー上のWebサービスをポーリングしているWebアプリケーションを持っています。サーバは同じネットワーク上にあり、ポート8080で動作する内部IPによって参照されます。HttpWebRequestが返されず、接続が閉じられる
15秒ごとに、ジョブ情報を含むxml応答を受信する要求が送信されます。 95%の時間、これはうまくいくが、無作為な時間にサーバーへの要求はヌルであり、「リモートホストによって強制的にクローズされた応答」を報告する。
この問題を調査している他の人は、KeepAlive = falseを設定している人もいます。これは問題を解決していません。 Webサーバーは.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;
コール:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
_ResponseStream = response.GetResponseStream();
このための方法はGETです。私はタイムアウトを変更しようとしましたが、デフォルトはこれを考慮に入れるのに十分です。
私たちが実行するもう1つのリクエストは、サーバーにデータを投稿するためのPOSTであり、私たちはランダムに同じ問題を出しています。これに影響を与えるファイアウォールはありません。ウィルススキャナは除外されています。これを解決するのに役立つアイデアは大いにありがたいです!
切断の頻度はどのくらいですか?サーバーログで興味深いものは何ですか? – jdigital
実際にあなたの接続を閉じるサーバーではないことは確かですか?それは完全にそれがあなたのクライアントではなく、サーバーのバグである可能性があります。 –