【发布时间】:2014-04-16 23:10:41
【问题描述】:
我有一个 C# 类,它使用 BackgroundWorker 来轮询特定数据库表的更改。如果有什么变化,它会触发一个事件。此外,我有一个 Token 类,它有一个处理此事件的处理程序,它基本上将标记状态设置为“脏”。
现在我问自己是否有比每隔几毫秒轮询一次数据库更好的方法。我想在我的令牌中创建一个异步方法,比如
public async Task<bool> IsDirty()
{
return await Something();
}
但是我应该在这里等待什么?我的 BackgroundWorker 只有它的 Do_Work 和 RunWorkerCompleted 方法。 BackgroundWorker 不需要一直检查,但至少在有人调用/等待 IsDirty() 方法时是这样。
【问题讨论】:
-
考虑用 Task 替换 BackgroundWorker。
标签: c# asynchronous polling