在asp.net mvc中经过一段时间后设置对象(非用户)处于非活动状态

时间:2010-04-12 05:50:56

标签: asp.net-mvc

这个问题主要是为了验证我目前的想法。我有一系列对象,我希望在指定的时间内处于活动状态。例如,广告空间中显示的广告仅在购买时间内显示,搜索结果中的对象只应在活动时弹出,而首页帖子应在预定时间后设置为非活动状态。

我目前的想法是给这些类型的对象一个StartDate和EndDate,并过滤搜索例程,只显示落在StartDate<范围内的结果。 currentDate<结束日期。

这是正常的结构还是应该有某种自动例程,它会定期检查“超时”的对象并将属性“非活动”设置为true或其他。似乎这种方法很麻烦,因为我需要一个运行说,每5分钟运行一次,以扫描所有数据库对象。对我来说似乎是一个坏主意。

第一个结构是最常用的还是有其他选择?在Google或SO上搜索时,搜索查询仅返回设置用户无效的结果。

1 个答案:

答案 0 :(得分:1)

除非你正在处理大量的对象,否则日期过滤器肯定是最好的方法。

实现像你描述的检查的唯一原因是过滤器查询花费的时间太长,或者你有一个真正需要在任何事件变为非活动时立即更新的缓存。这些都不适用于普通的Web应用程序。