2011-11-07 38 views
21

Vì vậy, tôi đã xây dựng một chương trình cập nhật tự động để chương trình của tôi'Một ngoại lệ xảy ra trong một yêu cầu WebClient" khi sử dụng C# ASP.NET

Mã đang chạy ở đây là:.

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

XXX là máy chủ web của tôi đang chạy như một máy chủ VPS tại verio, với IIS mới nhất và tất cả mọi thứ

Khi người dùng nhấp vào nút tải về, nó nói:

'An exception occurred during a WebClient request. 

Vấn đề là, tôi thậm chí không biết tại sao - tôi chỉ đang cố gắng nắm bắt.

Bất kỳ ai ở đây đều có bất kỳ ý tưởng nào tại sao điều này xảy ra?

Cảm ơn sự giúp đỡ nào bạn sẽ cho tôi, bạn không biết bạn đang giúp tôi bao nhiêu - cảm ơn lần nữa!

+2

Đăng nhập các chi tiết * * của ngoại lệ Đó là shoul d cho thấy những gì đang xảy ra. –

+0

Đó là nhật ký .. – user1032254

+0

Tôi * rất * nghi ngờ nhiều rằng các chi tiết của ngoại lệ bao gồm "thời hạn" một yêu cầu WebClient. Bạn có chắc bạn không có mã đang nuốt ngoại lệ WebClient và chỉ cần ghi nhật ký thư đó mà không làm bất kỳ điều gì với ngoại lệ? –

Trả lời

41

tôi có thể tái sản xuất này nếu tôi chỉ định, như dường như phải là trường hợp trong ví dụ của bạn, một tên thư mục chứ không phải là một tập tin tên đích. Thay vào đó, hãy cung cấp tên tệp.

Là một sang một bên; nếu tôi nhìn vào InnerException, nó nói với tôi rằng các vấn đề liên quan đến các đường dẫn tập tin:

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; 
     } 
    } 
} 

Mà cho:

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

Nếu tôi thay đổi nó vào một tập tin , nó hoạt động tốt:

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

Cảm ơn rất nhiều! chính xác là tôi đang tìm kiếm. Hy vọng nó hoạt động :) –

3

Đôi khi lỗi này có thể xảy ra khi một lớp hoặc quá trình khác đang truy cập tệp bạn vừa tải xuống

2

nó cung cấp ngoại lệ, nếu đường dẫn đến đường dẫn không tồn tại.

ví dụ đường dẫn là @ "j:. \ Folder \ thư mục con \ 123.pdfthư mục con không tồn tại, nó sẽ ném ngoại lệ

2

Tôi chạy vào lỗi này khi tôi đã cố gắng để tải về một tập tin, nơi dẫn đến đường dẫn tập tin tải về sẽ được kéo dài hơn một số giới hạn tùy ý

Sau khi thay đổi tên đường dẫn tập tin tải về để được dài 250 ký tự, vấn đề đi đi

Các vấn đề liên quan