J'utilise VSTS 2008 + C# + .Net 3.5 pour développer une application console et j'envoie une requête à un autre serveur (IIS 7.0 sur Windows Server 2008). Voici mon code. Ma question est, comme dans mon code, j'utilise une boucle while pour lire des morceaux par morceau du serveur. La temporisation request.Timeout = Timeout * 1000 est responsable de (1) timeout pour la connexion ouverte au serveur, ou (2) timeout pour chaque opération de lecture, ou (3) le temps total utilisé pour la boucle 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();
}
}
}
Merci, je vais m'en occuper à partir de maintenant. :-) – George2