C# : Traiter avec HttpWebResponse problèmes de délai d'attente

J'ai un gros problème de traiter avec les données que j'ai essayer de le télécharger dans mon Application sur internet via HttpWebResponse. Mon code ressemble à ça:

myWebRequest.Timeout = 10000; 

using (HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse())
{
     using (Stream ReceiveStream = myWebResponse.GetResponseStream())
     {
         Encoding encode = Encoding.GetEncoding("utf-8");
         StreamReader readStream = new StreamReader(ReceiveStream, encode);
         //Read 1024 characters at a time.
         Char[] read = new Char[1024];

         int count = readStream.Read(read, 0, 1024);

         int break_counter = 0;
         while (count > 0 && break_counter < 10000)
         {
             String str = new String(read, 0, count);
             buffer += str;
             count = readStream.Read(read, 0, 1024);
             break_counter++;
         }
    }
}

Ce code s'exécute dans quelques cas, dans des locaux séparés des fils donc c'est un peu difficile à déboguer. Le problème est que cette méthode est resté coincé et j'ai à cause de la mauvaise connexion de données.

Comme vous pouvez le voir j'ai déjà définir un délai d'attente et a été en espérant que le code serait juste de se terminer après le délais d'attente a expiré. Il ne le fait pas! Au moins pas tout le temps. Parfois, je reçois un WebException/Timeout mais quelques fois il juste coincé.

Ce qui est un délai d'attente exactement? Quand est-il appelé?
Disons que le HttpWebResponse commence à recevoir des données, mais il s'est coincé quelque part dans le milieu de transmission. Puis-je obtenir un délai d'attente? Pour moi, il semble que je n'ai pas parce que mon application est resté coincé trop et pas de délai d'attente exception est levée.

Ce que je peux faire à ce patch ou comment puis-je obtenir de plus amples renseignements au sujet de ce qui ne va pas ici?

OriginalL'auteur TalkingCode | 2010-03-17