我有一个Asp.Net MVC 5网站,其中我试图获得用户访问我网站的连续天数。 StackOverflow有这个,并在打开你的个人资料时报告。在AccountController
及其Login
操作中执行此操作非常简单:
if (dbUser.LatestLogin == null || ((DateTime)dbUser.LatestLogin).Date != DateTime.UtcNow.Date)
{
if (dbUser.LatestLogin != null && (DateTime.UtcNow.Date - ((DateTime)dbUser.LatestLogin).Date).TotalDays == 1)
dbUser.Consecutive++;
else
dbUser.Consecutive = 1;
}
dbUser.LatestLogin = DateTime.UtcNow;
但是,我想跟踪已经选中Remember Me
复选框的用户以保持登录状态。我该怎么做?
注意:
我想到的一件事是创建一个全局属性并为每个动作(if(User.Identity.IsAuthenticated)
)执行此操作但我认为这不是一个好主意,因为我必须为每个请求加载用户信息并运行支票。效率在这里非常重要。