首页 新闻 会员 周边 捐助

.net 定时操作的问题

0
悬赏园豆:50 [已解决问题] 解决于 2009-02-25 09:04

我现在在作一个广告管理的功能。我是为每一条广告生成一个JS文件,前台再调用。

现在有一个问题,就是每条广告有它自己的过期时间。时间一到就不再显示。

我想作的功能是:

我本来发布广告时是点击发布自动生成一个js文件。我想在它过期时自动重写这个JS文件。

不知道要怎么实现,本来想用timer作。但是广告过期时间相隔很长,有时要三个月,不知道 timer支不支持这么长时间,还有就是比如我首页有7,8处广告,要全是 timer 又太耗资源,请问各位除了timer有没有什么好的实现方法。

haven001的主页 haven001 | 初学一级 | 园豆:4
提问于:2009-02-20 17:10
< >
分享
最佳答案
0

有个东西叫quartz.net,用于.net下的精确计时,可以设定在某年某月某天某秒触发,可以去看看

Gray Zhang | 专家六级 |园豆:17610 | 2009-02-20 18:26
其他回答(4)
0

每一条广告都可以有一个ID。每一条广告都有时间限制。所以,把广告ID,广告的时间限存入数据库,然后每次生成JS文件时,检查时间是否到期,未到期显示,到期不显示/

hackenliu | 园豆:600 (小虾三级) | 2009-02-20 17:27
0

本质上不是timer问题,三个月是业务概念,不是程序概念。如果广告是js形式,建议采用这种方式:

ASPX网页包含了若干广告js文件的引用。假设js名是ad1.js,那么它的url是http://www.xxx.com/ad1.js。这个url不是静态js文件,而是通过动态页面产生js,有关js内容生成和时间判断的逻辑就在这个动态页面逻辑里面进行,这和普通ASPX动态页面产生html代码一样,只是你这个页面产生的是js代码而已。

另外,动态页面内部可以用Cache缓存未过期的广告内容提高性能。

Todd Wei | 园豆:170 (初学一级) | 2009-02-20 20:13
0

定期第过一段时间,或者定期每天生成一次,生成时判断是否过期,这个定期可以写到一张网页去,然后Windows计划任务定期打开这个页面(当然,是自己的主机才行),或者用别的办法定期执行。

启程 | 园豆:570 (小虾三级) | 2009-02-21 15:41
0

把过期的时间写下来,然后隔一段时间判断一下当前时间是不是大于过期时间,然后处理。

 

这样不行吗?

JieNet | 园豆:0 (初学一级) | 2009-02-22 00:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册