私は現在、データの束をキャッシュしているバックエンドのJavaアプリケーションがあります。 asp.netの部分では、ユーザーはデータベーステーブルを更新できます。 DBが更新されるたびに、Javaアプリケーションのキャッシュをクリアする必要があります。だから、基本的に私はキャッシュをクリアするためにそれぞれヒットする必要がある4つのURLのリストを持っています。私の基本的な解決策は、各URLをループし、HttpWebRequestを作成し、応答を得ることでした。だから基本的に私は毎回のリクエストごとにこれを持っています:HttpWebRequest Hanging
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentLength = 0;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
string responseString = readStream.ReadToEnd();
returnList.Add(string.Format("Refresh response from {0}.<br />{1}", url, responseString));
readStream.Close();
receiveStream.Close();
}
私のローカルマシン上のすべてがうまくいきます。しかし私が開発サーバーにデプロイすると、ハングアップして何もしません。 request.ContentLength = 0;
を削除すると、リモートサーバーは411:Lengthの予想されるエラーをスローします。
私は本当にここにこだわっていて、どんな助けでも大歓迎です。
HttpWebRequestの問題に対する解決策、またはそれぞれのURLを呼び出すためのさまざまな解決策が機能するかどうか、私は嫌なことではありません。
ありがとうございます。