繁体   English   中英

我应该使用辅助角色还是线程来重置数据库中条目的状态?

[英]Should I use a Worker Role or a Thread to reset the states of an entry in the database?

我开发了WCF Web服务,它是其中的一种方法,它在数据库中创建了一个新条目,还更改了其他表中条目的状态。

我要实现的是在一个小时后重置状态更改。 收听此示例,以便您可以了解我要执行的操作:

设备可以检测到报告为事件的更改,因此设备与各种事件有关,而事件仅与一个设备有关。 将新的事件插入数据库后,设备将进入警报状态,因此该设备的状态列更改为警报 ,经过1小时后,该设备的状态列必须返回正常

我曾想创建一个线程,但是我是WCF的新手,所以我不知道它是否消耗很多资源,所以我想到了使用Worker角色,但是在整个服务启动期间它仍然保持运行。 充其量,我想让任何可以处理此问题的进程进入睡眠状态,直到设备状态再次更改,但是同样,我也不知道让线程/工作者角色进入睡眠状态是否会消耗大量资源。

如何在不使用大量资源的情况下实现这种行为?

不要使用线程-如果应用程序需要关闭(部署,故障等),则该线程将丢失,并且工作也将排队。 使用持久性计时器服务(例如Windows Task Scheduler)或库(例如Quartz.NET)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM