上传和下载文件非常简单。在显示进度和传输速率时这样做让我质疑最佳方法。我正在寻找那种完美的方式。该方法易于使用,准确,重量轻。试过并且是真的。
我正在谈论的情况是,例如,从WebResponse或其他一些基于流的传输下载文件。下载就像(4.0这里)一样简单:
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Stream bufferedresponse = new BufferedStream(response.GetResponseStream());
bufferedresponse.CopyTo(TargetStream);
bufferedresponse.Close();
在完成下载之前,您无法找到传输速率,即使这只是一个平均值。我想的是一瞬间的触摸。我并不总是需要一个完整的WebBrowser对象,特别是在REST API包装器中(这个特定的示例来自),此外,WebBrowser是否也尝试解析DOM并呈现它的内容?
是否有绑定技术或简单的多线程方法?我忽略了流类的属性/事件吗?完全是另一类?
答案 0 :(得分:2)
您需要创建一个“ObservableStream”,它将通过递增进度条和更新遥测来触发您可以处理的可订阅事件。
尝试使用Reactive Extensions库实现此实现:http://staceyw.posterous.com/observe-a-network-stream-using-rx