gpt4 book ai didi

c# - 带有 CancellationToken 参数的 CopyTo

转载 作者:行者123 更新时间:2023-12-04 05:05:06 26 4
gpt4 key购买 nike

我看到CopyToAsyncCancellationToken论据。但我不需要CopyToAsync因为我的代码已经在后台线程中执行了。我只想拥有CopyTo重载需要 CancellationToken并在每次复制 bufferSize 字节数时检查它。是否有任何内置实现?

最佳答案

我刚刚采用了 .NET CopyTo 实现并在循环中添加了一行:

public static void CopyTo(this Stream source, Stream destination, int bufferSize, CancellationToken cancellationToken)
{
var buffer = new byte[bufferSize];
int count;
while ((count = source.Read(buffer, 0, buffer.Length)) != 0)
{
cancellationToken.ThrowIfCancellationRequested();
destination.Write(buffer, 0, count);
}
}

但我发现令人失望的 .NET Framework 设计者并不关心取消长时间运行的同步操作。

关于c# - 带有 CancellationToken 参数的 CopyTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15612074/

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