繁体   English   中英

ASP.NET MVC服务器端计时器

[英]Asp.net mvc server side timer

我正在创建一个在线测验应用程序,并且需要服务器端计时器。 例如,如果用户打开另一个浏览器或刷新页面或离开和返回时间应适当。

现在,我正在使用jquery计时器,并每隔5分钟发送ajax请求以将适当的信息存储到数据库中。 同样,当用户回答问题时,出于相同的目的,我立即再次发送ajax请求。

我应该改用Signalr吗? 在asp.net mvc中处理服务器端计时器的更合适方法是什么?

只要您有会话,就可以简单地存储用户开始以会话状态进行测验的时间戳。

您可以通过查看该事件的时间戳(减去用户进行调查的时间戳)来判断将来发生的事件的时间。

示例(服务器端代码):

if (Session["startTime"] == null)
{
    Session["startTime"] = DateTime.Now;
}

var ticksRemaining = DateTime.Now - Session["startTime"];
// Use ticksRemaining to populate the start value for the count-down timer
// Works just fine even if they reload the page or open a new browser tab.
// You won't catch if they open a brand-new browser and start a new session,
// but that's a different kind of problem.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM