如何在MVC 5中使用.NET Identity 2.0获取在线用户的数量

那么大家知道如何在MVC 5中使用.NET身份2.0成员提供商的在线用户数量?

我已经扫描了UserManager中的方法,Identity样本给出了但没有帮助。


这在显示用户数量时应该有点准确。 它使用缓存来存储用户的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);
}
链接地址: http://www.djcxy.com/p/78687.html

上一篇: How to get numbers of online users using .NET Identity 2.0 in MVC 5

下一篇: App crashing when I run Proguard on GSON (which using enum)