キーワードに基づいて Twitter からツイートを読み取るアプリがあります。これらのキーワードは定期的に変更される可能性があり、その場合は、ストリームを閉じて再度開く必要があります。問題なくストリームを開くことができますが、そのストリームを閉じようとすると問題が発生します。コード例を次に示します。
try
{
response = (HttpWebResponse)request.GetResponse();
using (Stream stream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream))
{
WriteLogMessage("Stream open - entering loop");
while (true)
{
if (count == 10) break;
count++;
string tweet = reader.ReadLine();
Console.Write(tweet);
}
WriteLogMessage("Exited loop");
}
/**** Program seems to freeze and never gets past this point ****/
WriteLogMessage("Reader disposed");
}
WriteLogMessage("Stream disposed");
}
catch (Exception ex)
{
WriteLogMessage(ex.Message);
}
finally
{
if (response != null)
response.Dispose();
WriteLogMessage("Response closed");
}
このコードは、私の win7 (x64) マシンで問題なく動作します。ただし、サーバー 2008 またはサーバー 2012 (両方とも x64) に展開すると、このフリーズ動作が見られます。Twitter が必要とするヘッダー以外の HttpWebRequest にパラメーターを設定していません。何が起こっているのか考えている人はいますか?