我必须创建一个Windows应用程序,我将多个文件上传到azure文件共享存储,我需要使用Windows中的进度条控件显示多个文件上传进度。
我希望在每次上传文件上传迭代时在Windows窗体上显示动态进度条。
任何人都可以建议使用样本循环迭代,使用Windows窗体上的进度条上传多个文件。
答案 0 :(得分:0)
假设您指的是 Blob存储。
用于处理StorageProgress消息的IProgress对象。
保存有关两个请求的进度数据传输的信息 和单个操作中的响应流。
他们网站上的一个不错的小例子,尽管是一个流示例
println mm.get(5)
那么从哪里来。因为这是 IO绑定最好的不使用null
或CancellationToken cancellationToken = new CancellationToken();
IProgress<StorageProgress> progressHandler = new Progress<StorageProgress>(
progress => Console.WriteLine("Progress: {0} bytes transferred", progress.BytesTransferred)
);
await blob.UploadFromStreamAsync(
srcStream,
default(AccessCondition),
default(BlobRequestOptions),
default(OperationContext),
progressHandler,
cancellationToken
);
,这会浪费资源。
但是,ActionBlock Class中的TPL dataflow可以适用,或仅Parallel.For
/ Parallel.ForEach
模式Task.WaitAll Method。
数据流示例
async
所以不用为你编写其余的代码
显然这里有详细信息,但是你现在是一名程序员,你的任务(如果你选择接受它)来解决它...免费午餐,我期待你的下一个问题关于一切中间:)