我正在用 C# 中的 ASP.NET MVC 开发一个基于 SQL Server 的异步浏览器聊天。我的项目包括一个 web 项目、一个 winforms 应用程序和一个数据库。在我的数据库中,我有一个名为User的表,其中包含一个名为LastLogin的 DateTime 属性和另一个名为isOnline的布尔属性。如果( LastLogin + 15sec =< DateTime.Now),我想将isOnline设置为 false,所以 15 秒是超时。您认为解决此问题的最佳解决方案是什么?您对更好的标题有什么建议吗?
问问题
90 次
1 回答
0
首先,检查诸如SignalR 源之类的东西,看看他们是如何做到的。其次,我会考虑通过 Session && Logout 来实现。
在您的 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.
}
于 2013-11-13T20:19:11.737 回答