【发布时间】:2019-03-21 12:17:34
【问题描述】:
我正在编写一个 windows 服务,并找到了一个示例,它建议编写一个轮询 windows 服务,如下所示:
private void Poll()
{
CancellationToken cancellationPoll = ctsPoll.Token;
while (!cancellationPoll.WaitHandle.WaitOne(tsInterval))
{
PollDatabase();
// Occasionally check the cancellation state.
if (cancellationPoll.IsCancellationRequested)
{
break;
}
}
}
在取消时我有点困惑,如果我同时需要 cancelPoll.WaitHandle.WaitOne() 和 cancelPoll.IsCancellationRequested 还是他们做同样的事情而只需要一个?
【问题讨论】:
-
您希望在轮询之间暂停执行吗?
标签: c# .net windows-services polling cancellation-token