相关疑难解决方法(0)

取消令牌的任务?

鉴于取消令牌,我想创建一个等待它的任务,这是永远不会完成但可以取消.我需要这样的模式,IMO应该很常见:

async Task DoStuff(Task t, CancellationToken ct)
{
   // t was made from TaskCompletionSource, 
   // both t and ct are beyond my control

   Task t2 = TaskFromCancellationToken(ct);
   await Task.WhenAny(t, t2);

   // do stuff
}
Run Code Online (Sandbox Code Playgroud)

我到目前为止最好的想法是:

Task TaskFromCancelationToken(CancellationToken ct)
{
    return Task.Delay(Timeout.Infinite, ct);
}
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法来实现这种逻辑?

.net c# multithreading task-parallel-library async-await

16
推荐指数
2
解决办法
4921
查看次数

await/async Microsoft Practices企业库数据

我有一个较旧的应用程序,我在那里用来Microsoft.Practices.EnterpriseLibrary.Data从数据库中获取数据.我最近升级到.NET 4.5并希望利用await/async.

根据命名标准,我没有看到任何以"Async"结尾的方法,即使在最新版本的软件包中也是如此.是否可以在不手动使其异步的情况下对此ADO .NET库使用await/async?

c# ado.net enterprise-library async-await asp.net-4.5

8
推荐指数
2
解决办法
3216
查看次数