2011-09-19 9 views
10

Birden fazla WebRequest göndermek istiyorum. Bunu yapmak için bir Parallel.For döngüsü kullandım, ancak döngü bir kez ve ikinci kez yanıt verirken hata veriyor.Parallel.For'da birden çok WebRequest gönder

Hata:

The operation has timed out

Kod:

Parallel.For(0, 10, delegate(int i) { 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(
     new Uri("http://www.mysite.com/service")); 

    string dataToSend = "Data"; 
    byte[] buffer = System.Text.Encoding.GetEncoding(1252). 
     GetBytes(dataToSend); 
    request.Method = "POST"; 
    request.ContentType = "application/x-www-form-urlencoded"; 
    request.ContentLength = buffer.Length; 

    request.Host = "www.mysite.com"; 

    Stream requestStream = request.GetRequestStream(); 
    requestStream.Write(buffer, 0, buffer.Length); 
    requestStream.Close(); 

    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
}); 
+2

Size bir hata mesajı verir? Gerçekten mi? Ve sormak istediğin özel bir soru var mı? –

+0

Ve hata ...? – Icarus

+0

İstisna nedir, nerede oluşur? Sunucunun aslında zaman aşımına uğramadığından emin misiniz? –

cevap

10

Büyük olasılıkla sorun yanıtını işlem bittikten sonra response.Close() çağırmanız gerekir olmasıdır. , Ayrıca faktör gereken Jim Mischel yanıta yakın çağıran hakkında söylediği ilaveten

İlgili konular