別のサーバー上の Web サービスをポーリングしている Web アプリケーションがあります。サーバーは同じネットワーク上にあり、ポート 8080 で実行されている内部 IP によって参照されます。
15 秒ごとにリクエストが送信され、ジョブ情報を含む xml レスポンスを受け取ります。95% の場合、これはうまく機能しますが、サーバーへのリクエストがランダムに null になり、「リモート ホストによって強制的に閉じられたレスポンス」が報告されます。
この問題を調査したところ、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 であり、同じ問題がランダムに発生しています。これに影響を与えるファイアウォールはなく、ウイルス スキャナーは除外しました。これを解決するのに役立つアイデアは大歓迎です!