首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在asp.net中24小时动态实现逻辑类“每日提示”

如何在asp.net中24小时动态实现逻辑类“每日提示”
EN

Stack Overflow用户
提问于 2012-02-24 14:44:05
回答 2查看 318关注 0票数 0

我有一个表"Tips“,它有几行。在主页上,我需要显示一个随机的单一提示作为“当日提示”。24小时后,我应该在另一个24小时内显示一个随机的提示。如何实现这一概念?

看看下面的链接作为参考,每天显示4-5个报价。sample - click here

我是否应该创建一个新的表格来拥有“每日提示”,在那里它每天都会被删除并插入一个新的行?或者在服务器上实现高速缓存技术。

指导我一种最佳的实现方式。该应用程序将在共享主机计划中托管,因此无法在服务器上运行windows服务。

EN

回答 2

Stack Overflow用户

发布于 2012-02-24 14:48:31

例如,你可以生成当前日期的SHA-1散列,然后在总提示计数的模上计算其余数,这将得到“当天提示”的数量。

例如,

代码语言:javascript
复制
TipOfTheDay[] tips;

var now = DateTime.Now;
var buffer = new byte[] { (byte)(now.Year % 256), (byte)(now.Year / 256), (byte)now.Month, (byte)now.Day };
SHA1 encoder = new SHA1CryptoServiceProvider(); 
var hash = encoder.ComputeHash(data);
int tipNumber = 0;
for(var b in hash) {
    tipNumber += b;
    tipNumber %= tips.Count;
}
return tips[tipNumber];

这将每天返回一个新的(伪随机)提示,并且该提示在一天中将保持不变。

票数 2
EN

Stack Overflow用户

发布于 2012-02-24 14:58:40

如果您使用的是Asp.Net MVC,您可以使用输出缓存属性,并将持续时间设置为24小时。

代码语言:javascript
复制
[OutputCache(Duration=86400)]

对于asp.net,您可以在控件视图上添加<%@ OutputCache duration="86400" varybyparam="None" %>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9426546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档