方案: 我已使用CancellationToken连接Web作业,并需要模拟关闭以查看是否正在成功处理取消。我已经尝试过Ctrl + C组合,但是取消没有触发。为了调试目的,模拟此关闭的正确方法是什么?
答案 0 :(得分:0)
由于这是调试代码,所以有点破解。我的问题是,CancellationToken是通过框架调用传递的,并且不允许访问CancellationTokenSource。
private async Task InitializeEventProcessing(CancellationToken ctx)
{
#if DEBUG
CancellationTokenSource cts = new CancellationTokenSource(TimeSpan.FromSeconds(10));
ctx = cts.Token;
#endif
.
.
.
}
答案 1 :(得分:0)
不是很喜欢另一个答案,所以这就是我所做的...
内置WebJobsShutdownWatcher
会查找环境变量WEBJOBS_SHUTDOWN_FILE并监视更改。
如果将调试设置配置为为该环境变量提供文件名,则只需创建该文件(内容无关紧要),并且该文件将遵循与部署相同的关闭路径。 / p>
当然,您必须随后将其删除,或者添加一个构建步骤以在调试时删除它,或者至少在主机上执行与正常关机相同的代码。