2009-09-06 32 views
10

Aşağıdaki yazımda kodum GetResponse'de kilitleniyor. Niye ya? Aynı ana bilgisayara birkaç isteklerini yaptı ve WebResponse imha ettik eğerWebRequest.GetResponse kilitleniyor mu?

 try 
     { 
      WebRequest myWebRequest = WebRequest.Create(strURL); 
      WebResponse myWebResponse = myWebRequest.GetResponse(); 
      //more code here 
+0

Sorun http bu çalışırken: // localhost neyin URI ? –

+0

Bunu teşhis etmek için yeterli bilgi yok. Kullandığınız URL'den bağımsız olarak sizin için kilitleniyor mu, sadece bir URL mi, sürekli olarak gerçekleşiyor, tarayıcınızdan URL'ye erişmeye çalıştığınızda ne oluyor? –

cevap

41

genellikle böyle olur.

Varsayılan bağlantı yönetimi ayarları, aynı anda aynı ana makineye açık bağlantıları 2 (veya belki 4, hatırlayamıyorum) izin verir. Eğer gerçekten bu değiştirmeniz gerekirse, <connectionManagement> app.config elemanını kullanmak - ama genelde sadece WebResponse bertaraf iyi olacak:

try 
{ 
    WebRequest myWebRequest = WebRequest.Create(strURL); 
    using (WebResponse myWebResponse = myWebRequest.GetResponse()) 
    { 
     //more code here 
+1

I <3 Jon Skeet sorunu tamamen giderdi. Yine asla atmayı kontrol etmem. Teşekkürler. –

+2

Bu benim için yardımcı olmadı. "Using" yaklaşımını kullanmayı denedim, bunun yanı sıra kullanımdaki yanıtı da kapattım ... ama yine de aynı problemi çözüyorum. – Ted

+0

Soru: SO: http://stackoverflow.com/questions/8377185/c2dm-frequent-timeouts-or-errors-when-sending-webservice-does-not-responders – Ted

İlgili konular