我正在实现一个数据库,它接受请求并回复它们,Approved
或者Denied
我想添加功能,这样如果特定请求在 3 天内没有响应,它将自动回复为Denied
. 它是数据库中的一个状态字段。
我在 asp.net 3.5 中使用带有 linq 的 sql server 2008 除了检查每个加载时间之外,还有其他方法吗?
3 回答
我的建议是,
编写一个 Windows 服务,它将在每个给定的时间间隔后检查数据库并执行操作。只需保持此 Windows 服务始终运行。在每个时间间隔它都会完成这项工作。
首先:我的答案与@AnandPhadke 的相似,但差别不大。
我自己也遇到过这个问题好几次了。
1)我通常为这类任务构建一个“机器人”。
“机器人”是指一个非常简单的控制台应用程序,它只检查数据库并根据数据库结果执行所需的操作。此控制台应用程序还能够记录其活动(出于调试目的等,您可以使用开源 log4net 来完成此任务)。
2)然后我让标准的 Windows“任务计划程序”定期调用我的控制台应用程序。
以下是有关“任务计划程序”的更多信息:http: //windows.microsoft.com/en-US/windows7/schedule-a-task
编辑/更新:
这是我要描述的主要内容
有几件事可能会影响 CPU 的负载。首先是计算密集型操作。我完全不知道您的数据库设计是什么样的,但我确定您的 SQL 查询越复杂(并且必须处理此复杂查询的数据越多),它将需要 CPU 提供更多的功能。尝试优化您的查询。
如果您只需要在间隔后修改 SQL Server 中的记录,请使用 SQL Server Agent。您可以设置一个在您想要的任何时间段运行的作业,它可以运行类似于存储过程的东西,它可以检查您想要的内容并更新匹配的记录。这是有关如何设置工作的教程:
http://databases.about.com/od/sqlserver/ss/sql_server_agent_3.htm