有个东西叫quartz.net,用于.net下的精确计时,可以设定在某年某月某天某秒触发,可以去看看
每一条广告都可以有一个ID。每一条广告都有时间限制。所以,把广告ID,广告的时间限存入数据库,然后每次生成JS文件时,检查时间是否到期,未到期显示,到期不显示/
本质上不是timer问题,三个月是业务概念,不是程序概念。如果广告是js形式,建议采用这种方式:
ASPX网页包含了若干广告js文件的引用。假设js名是ad1.js,那么它的url是http://www.xxx.com/ad1.js。这个url不是静态js文件,而是通过动态页面产生js,有关js内容生成和时间判断的逻辑就在这个动态页面逻辑里面进行,这和普通ASPX动态页面产生html代码一样,只是你这个页面产生的是js代码而已。
另外,动态页面内部可以用Cache缓存未过期的广告内容提高性能。
定期第过一段时间,或者定期每天生成一次,生成时判断是否过期,这个定期可以写到一张网页去,然后Windows计划任务定期打开这个页面(当然,是自己的主机才行),或者用别的办法定期执行。
把过期的时间写下来,然后隔一段时间判断一下当前时间是不是大于过期时间,然后处理。
这样不行吗?