我开发了一个 WCF Web 服务,它拥有的方法之一是在数据库中创建一个新条目,并更改不同表中条目的状态。
我想要实现的是在一个小时过去后重置状态变化。听听这个例子,这样你就可以理解我想要做什么:
设备可以检测报告为事件的更改,因此设备与各种事件相关,而事件仅与一个设备相关。当一个新的事件插入数据库时,设备进入警报状态,因此该设备的状态列更改为警报,经过 1 小时后,该设备的状态列必须返回正常。
我想创建一个线程,但我是 WCF 的新手,所以我不知道这是否会消耗大量资源,所以我想到了使用 Worker Role,但它也会在服务启动的整个过程中保持运行。充其量我想让任何可以处理此问题的进程进入睡眠状态,直到设备的状态再次发生变化,但同样,我不知道让线程/工作者角色睡眠是否会消耗大量资源。
我怎样才能在不使用太多资源的情况下实现这种行为?