gpt4 book ai didi

c# - 使用 .NET 4 创建任务管道?

转载 作者:太空宇宙 更新时间:2023-11-03 18:45:55 24 4
gpt4 key购买 nike

我想将文件分块上传到网络服务。

// Web service method:
void UploadFile(int fileId, byte[] chunk, int position, bool complete);

使用 .NET 4 任务并行库,我想上传一个文件,一次一个 block 。

我在客户端上有字节 block ,我可以上传每个字节 block :

List<byte[]> chunks = ...;
webService.UploadFileAsyncCompleted += OnChunkUploaded;
foreach (var chunk in chunks)
{
webService.UploadFileAsync(...);
}

但是,这会同时上传所有 block 。我想一个接一个地上传每个 block 。管道,如果你愿意的话。

如何使用 .NET 4 任务并行库执行此操作?

最佳答案

我建议使用 BackgroundWorker 而不是使用 TPL,它正是为这种场景(在 GUI 应用程序的后台执行工作)而设计的。然后我会将同步版本称为 UploadFile。 BackgroundWorker 类允许您执行报告进度等操作,并在需要时取消操作。

关于c# - 使用 .NET 4 创建任务管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4502928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com