Я использую VSTS 2008 + C# + .Net 3.5 для разработки консольного приложения, и я отправляю запрос на другой сервер (IIS 7.0 на Windows Server 2008). Вот мой код. Мой вопрос заключается в том, что, как и в моем коде, я использую цикл while для чтения фрагментов с помощью блока с сервера. Запрос timeout.Timeout = Timeout * 1000 отвечает за (1) время ожидания для открытого подключения к серверу или (2) время ожидания для каждой операции чтения или (3) общее время, используемое для цикла while?Http request timeout issue
static void PerformanceWorker()
{
Stream dataStream = null;
HttpWebRequest request = null;
HttpWebResponse response = null;
StreamReader reader = null;
try
{
request = (HttpWebRequest)WebRequest.Create(TargetURL);
request.Timeout = Timeout * 1000;
request.Proxy = null;
response = (HttpWebResponse)request.GetResponse();
dataStream = response.GetResponseStream();
reader = new StreamReader(dataStream);
// 1 M at one time
char[] c = new char[1000 * 10];
while (reader.Read(c, 0, c.Length) > 0)
{
globalCounter++;
}
}
catch (Exception ex)
{
lock (counterLock)
{
globalFailCounter++;
Console.WriteLine("Fail Counter: " + globalFailCounter + "\n" + ex.Message + "\n" + ex.StackTrace);
}
}
finally
{
if (null != reader)
{
reader.Close();
}
if (null != dataStream)
{
dataStream.Close();
}
if (null != response)
{
response.Close();
}
}
}
Спасибо, я позабочусь об этом с этого момента. :-) – George2