簡體   English   中英

從WebClient清除結果

[英]Clearing out result from WebClient

我有一個Web客戶端的以下代碼部分:

var client = new WebClient();
client.DownloadProgressChanged += (sender, args) => 
client_DownloadProgressChanged(sender, args, this.Context.ConnectionId);
client.DownloadDataCompleted += (sender, evt) =>
{
    byte[] result = evt.Result;
    aLongRunningTask(result);**
}

我的問題是,需要在完成downloaddata方法后啟動“ aLongRunningTask”函數,該函數可以正常工作,但是由於我收到的文件很大,因此我最終在內存中有一個字符串,占用了大量內存空間,沒有必要,因為我只需要byte []。

不幸的是,evt.Result是一個只讀屬性,因此我無法將其清空,並且由於運行aLongRunningTask,因此我無法使客戶端為空。

有什么方法可以覆蓋evt.Result以便可以將其清除,也可以通過另一種方法來清空內存使用量。

如何使用這樣的using

using(var client = new WebClient()){

//your logic

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM