伙计们知道如何在 MVC 5 中使用 .NET identity 2.0 成员提供程序获取在线用户数吗?
我已经扫描了 Identity 示例提供的 UserManager 中的方法,但没有帮助。
最佳答案
这在显示用户数时应该比较准确。它使用缓存来存储用户的 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);
}
关于c# - 如何在 MVC 5 中使用 .NET Identity 2.0 获取在线用户数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23122086/