在房间前面我有一个面板。该面板显示占用时间,例如 14:00 - 15:30。如果有人想在那段时间使用那个房间,他必须按下面板上的 CHECK_IN 按钮。所以系统知道房间里有人。现在我希望如果从 14:00 起 20 分钟后没有人使用该按钮,则应取消占用时间。
我已经编写了取消查询。但我需要类似于计时器的东西,它会在 20 分钟后执行查询。我怎样才能做到这一点?
提前致谢
在房间前面我有一个面板。该面板显示占用时间,例如 14:00 - 15:30。如果有人想在那段时间使用那个房间,他必须按下面板上的 CHECK_IN 按钮。所以系统知道房间里有人。现在我希望如果从 14:00 起 20 分钟后没有人使用该按钮,则应取消占用时间。
我已经编写了取消查询。但我需要类似于计时器的东西,它会在 20 分钟后执行查询。我怎样才能做到这一点?
提前致谢
使用计时器并将取消代码放入回调中。
public void StartCheckin(int dueTime)
{
var t = new Timer(new TimerCallback(CancelCheckin));
t.Change(dueTime, Timeout.Infinite);
}
private void CancelCheckin(object state)
{
// cancel checkin
// dispose of timer
((Timer)state).Dispose();
}
您可以Timer
在 C# 中使用该对象
http://msdn.microsoft.com/en-us/library/system.timers.timer%28v=vs.71%29.aspx