9得票2回答
阻止 CancellationToken 生成的异常被 ApplicationInsights 报告

我认为在我的控制器中使用 CancellationToken 是一个好主意,例子如下: [HttpGet("things", Name = "GetSomething")] public async Task<ActionResult> GetSomethingAsync(Can...

11得票1回答
当我在异步方法中调用CancellationTokenSource的Cancel方法时,为什么任务没有被取消?

我创建了一个围绕 CancellationToken 和 CancellationTokenSource 的小封装。我遇到的问题是,CancellationHelper 的 CancelAsync 方法并不能按照预期工作。 我在 ItShouldThrowAExceptionButStall...

8得票2回答
异步网络操作永远不会结束

我有几个异步网络操作,返回一个任务,可能永远不会完成: UdpClient.ReceiveAsync 不接受 CancellationToken TcpClient.GetStream 返回一个 NetworkStream,在 Stream.ReadAsync 上不遵守 Cancellat...

172得票5回答
为什么 CancellationToken 要与 CancellationTokenSource 分离?

我正在寻找一个解释为什么.NET引入了CancellationToken结构体,除了CancellationTokenSource类。 我理解如何使用API,但也想了解为什么以这种方式设计。 也就是说,为什么我们有:var cts = new CancellationTokenSource(...

18得票2回答
TaskFactory.StartNew()中的"cancellationToken"参数用于什么?

http://msdn.microsoft.com/en-us/library/dd988458.aspx 更新: 那么,让我们来讨论这篇文章:http://msdn.microsoft.com/en-us/library/dd997396.aspx 我已经稍微更改了那段代码: s...

24得票1回答
捕获TaskCanceledException并检查Task.Canceled是一个好主意吗?

我团队中有些人非常喜欢使用异步Task进行编码,有时候他们也会使用CancellationToken参数。 但我不确定我们作为一个团队是否应该采用这种(A)代码风格: async Task<someObject> DoStuff(CancellationToken t) { ...

165得票5回答
CancellationToken的默认参数

我有一些异步代码,想要添加一个CancellationToken。然而,并非所有情况都需要使用此功能,因此我想设置一个默认参数——可能是CancellationToken.None。但是, Task<x> DoStuff(...., CancellationToken ct = ...

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

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

7得票3回答
CancellationToken与CancellationChangeToken的区别

CancellationToken和CancellationChangeToken之间有什么区别?我应该在什么情况下使用它们? 它们似乎可以用于相同的目的。我错过了什么吗?

8得票1回答
CancellationToken.CanBeCanceled什么时候会为false?

CancellationToken.CanBeCanceled 的文档中描述了它的功能,但没有提到它何时可能为 false。因此,我不太清楚何时应该关注此属性。 在什么情况下它可能为 false,我应该在什么时候查看它?