SORU
24 Kasım 2009, Salı


Nasıl bir zaman aşımı değiştirmek için .NET WebClient nesnesi

WebClient bir nesne bir zaman aşımı neden olan benim yerel makine (programlama yoluyla) ve kendi web sunucusu çok yavaş olduğu için bir müşteri veri indirmeye çalışıyorum.

İşte benim kod:

WebClient webClient = new WebClient();

webClient.Encoding = Encoding.UTF8;
webClient.DownloadFile(downloadUrl, downloadFile);

Bir şekilde bu nesne üzerinde sonsuz bir zaman aşımı var mı? Ya da eğer biri bunu yapmak için alternatif bir yol, bir örnek ile bana yardımcı olabilir?

URL'Yİ bir tarayıcıda gayet iyi çalışıyor - sadece 3 dakika göstermek için alır.

CEVAP
9 AĞUSTOS 2011, Salı


Zaman aşımı uzatabilirsiniz: özgün WebClient sınıfı devralır ve kendi zaman aşımı, aşağıdaki örnekte olduğu gibi.ayarlamak için webrequest alıcı geçersiz kılar MyWebClient benim durumumda özel bir sınıf

  private class MyWebClient : WebClient
    {
        protected override WebRequest GetWebRequest(Uri uri)
        {
            WebRequest w = base.GetWebRequest(uri);
            w.Timeout = 20 * 60 * 1000;
            return w;
        }
    }

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • Jordie Jordan

    Jordie Jorda

    27 Ocak 2008
  • Sali Kaceli

    Sali Kaceli

    24 ŞUBAT 2009