28得票2回答
为什么存在CancellationTokenRegistration并且为什么它实现了IDisposable接口?

我看到一些代码使用CancellationTokenRegistration的using子句和Cancellation.Register:using (CancellationTokenRegistration ctr = token.Register(() => wc.CancelAs...

64得票4回答
在Task.Run中使用CancellationToken进行超时控制不起作用。

好的,我的问题非常简单。为什么这段代码没有抛出TaskCancelledException?static void Main() { var v = Task.Run(() => { Thread.Sleep(1000); return 1...

7得票2回答
取消所有异步任务

是否可以取消所有异步方法,而不知道当前正在运行的内容? 例如,我有几个可能运行异步任务的类: class Class1 { public async void SomeTask() { for (int i = 0; i < 5; i++) ...

68得票4回答
使用异步的Dapper方法时如何使用CancellationToken?

我正在使用来自Nuget的Dapper 1.31版本。我有这个非常简单的代码片段:string connString = ""; string query = ""; int val = 0; CancellationTokenSource tokenSource = new Cancella...

22得票1回答
Lambda函数处理程序中的取消令牌 C#

AWS Lambda的C#函数处理程序是否提供取消标记? 我已经阅读了AWS网站上的文档(https://docs.aws.amazon.com/lambda/latest/dg/dotnet-programming-model-handler-types.html),但是我找不到任何地方提...

9得票1回答
当 CancellationToken 被取消时如何运行代码?

如果给定一个CancellationToken,当该CancellationToken被取消时,我希望能够调用代表异步操作的对象上的“cancel”方法。这是否可能? 背景:我正在与一个API进行交互,该API以以下方式表示异步操作(或多或少): class AsyncOp { v...

12得票3回答
C#中的锁和监听CancellationToken

我想使用lock或类似的同步机制来保护关键代码段。同时,我想监听CancellationToken。 目前我正在使用像这样的互斥锁,但是互斥锁的性能不太好。我是否可以使用其他同步类(包括新的 .Net 4.0)代替互斥锁?WaitHandle.WaitAny(new[] { CancelTo...

80得票5回答
如何在超时或取消请求之前“休眠”

什么是在特定时间内睡眠的最佳方法,但又能够被来自CancellationToken的IsCancellationRequested中断? 我正在寻找一个适用于.NET Framework 4.0+的解决方案。 我想写: void MyFunc(CancellationToken ct) ...

10得票2回答
如何创建一个已取消的任务

我正在编写一个 Stream 类,并在 ReadAsync 方法中遇到了阻塞问题。请查看代码,我认为它可以比我用英语更好地解释情况。public override Task<int> ReadAsync(byte[] buffer, int offset, int count, S...

25得票5回答
我能使用CancellationToken取消StreamReader.ReadLineAsync吗?

当我通过调用我的的Cancel()方法取消下面内容的异步方法时,它最终会停止。但是,由于行Console.WriteLine(await reader.ReadLineAsync())需要相当长的时间才能完成,因此我尝试将我的传递给ReadLineAsync()(期望它返回一个空字符串),以便...