我正在使用ASP.NET构建新闻网站。我想通过拉新的新闻文章自动更新。这是通过调用下载更新的json字符串的函数来完成的。
如何在C#中每隔半小时调用一次此功能? 或者我应该在javascript中编写此函数并每隔半小时调用一次?
答案 0 :(得分:2)
您可以在C#中使用Timer
protected void Page_Load(object sender, EventArgs e)
{
// Create a timer
System.Timers.Timer myTimer = new System.Timers.Timer();
//call method
myTimer.Elapsed += new ElapsedEventHandler(mymethod);
//time interval 5 sec
myTimer.Interval = 5000;
myTimer.Enabled = true;
}
public void mymethod(object source, ElapsedEventArgs e)
{
//your code
}
此外,您可以在Javascript中使用SetTimeOut函数
setTimeout(function() {
//calls click event after a certain time
that.element.click();
}, 5000);
OR
使用此任务
Task.Factory.StartNew(() =>
{
System.Threading.Thread.Sleep(5000);
CallMethod();
});
答案 1 :(得分:1)
在head标签中使用以下内容刷新页面,
<meta http-equiv="refresh" content="value">
此处的值以秒为单位。如果您想在30分钟后刷新页面,请使用1800作为值。
答案 2 :(得分:1)
您可以将网站的数据源设置为Json / XML等 静态文件或数据库。
创建一个调度程序,用于查找特定数据中的新数据 在您获得Json的特定地点的间隔 字符串。
您的日程安排程序将更新您的数据源,该数据源将更新您的新闻
答案 3 :(得分:0)
根据定义,网站没有时间触发器。每个请求都是独立的,服务器可以在请求之前处于“睡眠”模式。
但你描述的问题很常见。
解决问题的方法很少:
答案 4 :(得分:0)
您应该为此创建一个Windows服务。因为即使你的网站页面没有打开,它也会在后台运行。
否则
使用Microsoft Azure,它将帮助您创建调度程序功能,以便继续更新您的网站内容。