大家知道如何在MVC5中使用.NET identity 2.0成员提供程序获取在线用户数量吗?
我已经扫描了Identity sample提供的UserManager中的方法,但没有任何帮助。
发布于 2014-09-03 13:23:31
这在显示用户计数时应该有一定的准确性。它使用缓存来存储用户的IP地址,并返回单个IP的计数。如果两个人在同一个代理后面,它将把它算作一个人。
using System.Runtime.Caching;
public int UsersOnlineCount
{
get
{
return MemoryCache.Default.Where(kv => kv.Value.ToString() == "User").Count();
}
}确保每个人都被添加到缓存的最好方法是在构造函数中定义一些BaseController。
public BaseController() : base()
{
CacheItemPolicy policy = new CacheItemPolicy();
policy.AbsoluteExpiration = DateTime.UtcNow.AddMinutes(20);
MemoryCache.Default.Add(System.Web.HttpContext.Current.Request.UserHostAddress, "User", policy);
}https://stackoverflow.com/questions/23122086
复制相似问题