2011-11-07 52 views
21

Więc stworzyliśmy program automatycznej aktualizacji do mojego programu„Wystąpił wyjątek podczas żądania WebClient” podczas korzystania z C# ASP.NET

Kod, który pracuje tu jest.

new WebClient().DownloadFile("XXXX", checkingfolder.SelectedPath); 
.

XXX jest mój serwer WWW, który działa jako serwer VPS w verio z najnowszej IIS i wszystko

Gdy użytkownik kliknie na przycisk pobierz, to mówi:

'An exception occurred during a WebClient request. 

Chodzi o to, że nawet nie wiem dlaczego - po prostu próbuję złapać.

Ktoś tu ma pojęcie, dlaczego tak się stało?

Dzięki za pomoc, którą mi dasz, nie masz pojęcia, jak bardzo mi tu pomagasz - jeszcze raz dziękuję!

+2

Zaloguj się * szczegóły * z wyjątkiem Ten shoul d pokaż, co się dzieje. –

+0

To jest dziennik .. – user1032254

+0

Ja * bardzo wątpię, że szczegóły wyjątku, w tym "Durning" żądania WebClient. Czy na pewno nie masz kodu, który połyka wyjątek WebClient i po prostu logujesz tę wiadomość, nie robiąc nic z wyjątkiem? –

Odpowiedz

41

mogę odtworzyć tego, jeśli mogę określić, jak wydaje być przypadek w swojej przykład folderu nazwa zamiast plik nazwa docelowego. Zamiast tego należy podać nazwę pliku plik.

Na marginesie; jeśli patrzę na InnerException, to mówi mi, że problem dotyczy ścieżki pliku:

using(var client = new WebClient()) 
{ 
    try 
    { 
     client.DownloadFile(
      "http://stackoverflow.com/questions/8033619/an-exception-occurred-durning-a-webclient-request-c-sharp-asp-net/8033687#8033687", 
      @"j:\MyPath"); 
    } 
    catch (Exception ex) 
    { 
     while (ex != null) 
     { 
      Console.WriteLine(ex.Message); 
      ex = ex.InnerException; 
     } 
    } 
} 

co daje:

An exception occurred during a WebClient request. 
Access to the path 'j:\MyPath' is denied. 

Jeśli zmienię go do pliku, to działa prawidłowo:

client.DownloadFile(
    "http://stackoverflow.com/questions/8033619/an-exception-occurred-durning-a-webclient-request-c-sharp-asp-net/8033687#8033687", 
    @"j:\MyPath\a.html"); 
+0

Wielkie dzięki! dokładnie tego szukałem. Mam nadzieję, że to działa :) –

3

Czasami ten błąd może wystąpić, gdy inna klasa lub proces uzyskiwania dostępu do pliku, który właśnie ściągnięty

2

daje wyjątek, jeśli katalog do ścieżki nie istnieje.

na przykład ścieżki jest @ "j:. \ Folder \ podkatalog \ 123.pdf i podfolder nie istnieje, to będzie rzucić wyjątek

2

wpadłem na ten błąd, kiedy próbują Pobieranie pliku, w którym pobrana wynikające ścieżka do pliku byłby dłuższy niż jakiejś arbitralnej granicy

Po zmianie nazwy ścieżki pobrany plik, aby mieć 250 znaków, problem odszedł

Powiązane problemy