【发布时间】:2012-10-26 10:12:49
【问题描述】:
我正在构建一个系统,用于在处理数据后异步发送邮件(最多可能需要 10 秒的处理时间)。
我最初的想法是让 Windows 服务每 3 秒通过数据处理请求轮询数据库,以便处理第一条记录。完成后,轮询并获取要处理的新的第一条记录。
当没有记录时,等待 3 秒,然后再次轮询以检查记录。
我不确定这是否是个好主意。在我看来,使用计时器并不是一种很好的编程方式。即使在不需要时,数据库的性能和使用也是一个问题。
在这种情况下,最佳做法是什么?
使用的技术:.net 3.5、SQL Server、服务器在场中。
【问题讨论】:
-
您可能想看看是否可以使用消息队列来满足您的需求。像 MSMQ 之类的东西,或者在网络上搜索 .net 消息队列。
标签: .net sql-server architecture polling