我正在使用C#中的ASP.NET MVC开发基于SQL Server的异步浏览器聊天。我的项目包括一个Web项目,一个winforms应用程序和一个数据库。在我的数据库中,我有一个名为 User 的表,其中DateTime属性名为 LastLogin ,另一个布尔属性名为 isOnline 。我想将 isOnline 设置为false,如果( LastLogin + 15sec =< DateTime.Now),则15秒是超时。您认为解决此问题的最佳解决方案是什么? 你对更好的头衔有什么建议吗?
答案 0 :(得分:0)
首先,检查SignalR source之类的内容,了解他们是如何做到的。其次,我会通过Session&&和注销。
在你的Global.asax
中void Session_End(Object sender, EventArgs E) {
// update the database with "offline"
}
在您的退出代码中
protected void LogOut_Click(object sender, EventArgs e)
{
// logout
// update database with "offline"
// redirect to public page of your choosing.
}