首次海報,很長一段時間的讀者,所以你要對我:)容易多個Web客戶,隨着時間的推移weclints停止工作
我正在寫讀一堆文件夾,並允許您下載的應用程序每個文件夾的圖像。有一個WebBrowser控件,您可以在其中瀏覽特定圖像,然後單擊一個按鈕「將此圖像用於所選文件夾」。
每個「文件夾」都表示爲具有自己的下載方法的對象,該方法使用BackgroundWorker線程內的WebClient。
當我在對象上設置圖像的URL,它啓動對象的BackgroundWorker並運行該代碼
using (WebClient client = new WebClient())
{
client.Proxy = null;
Stream stream = client.OpenRead(BackdropUrl);
Bitmap bitmap = new Bitmap(stream);
stream.Flush();
stream.Close();
e.Result = bitmap;
}
我也使用Web客戶端在我的應用程序的主線程做一些簡單的HTML「刮痧」 。
現在,解決問題。當我開始使用該應用程序時,一切都很好,這些文件將在我瀏覽列表時下載,但過了一段時間,似乎Web客戶端隨機變得無響應。我仍然可以瀏覽周圍WebBrowser控件,但所有的Web客戶端執行代碼,似乎無法完成它只是掛在這兩行之一:
Stream stream = client.OpenRead(BackdropUrl);
Bitmap bitmap = new Bitmap(stream);
我知道這仍然是相當模糊的,但我試圖解釋盡我所能。有沒有人可能有更強大的方式將圖像直接下載到Bitmap對象中?即不保存到文件然後再打開它?
任何幫助將不勝感激。
如果您使用相同的WebClient而不是爲每個文件創建一個新的WebClient,您是否也有同樣的問題? – 2009-07-31 08:25:44