【发布时间】:2012-10-06 04:32:45
【问题描述】:
在异步/等待机制中是否有一个集成点来挂钩并知道异步方法何时启动?
自定义 TaskScheduler 可以提供这个钩子吗?自定义 SynchronizationContext?
我希望能够跟踪某些方法调用并知道它们与哪个任务(或代码)相关联。
谢谢!
【问题讨论】:
-
你为什么要这样做?你在说什么样的记录保存?你试过什么?
-
方法一调用就启动。真的不清楚你的意思......
-
我想在代码中找到一个位置,可以通知我异步方法已启动,而无需修改调用站点或被调用者。
-
TaskScheduler可以做到这一点,主要是。我能想到 2 个问题:1) 很难将Task实例与async方法(及其延续)相匹配。 2) 任何async方法都可以使用ConfigureAwait跳出你的TaskScheduler。唯一可靠的解决方案是使用分析 API,这会很困难(而且您仍然必须以某种方式解决问题 (1))。
标签: c# async-await c#-5.0