首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MVC5中使用.NET Identity 2.0获取在线用户数

如何在MVC5中使用.NET Identity 2.0获取在线用户数
EN

Stack Overflow用户
提问于 2014-04-17 07:37:48
回答 1查看 2.4K关注 0票数 7

大家知道如何在MVC5中使用.NET identity 2.0成员提供程序获取在线用户数量吗?

我已经扫描了Identity sample提供的UserManager中的方法,但没有任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-09-03 13:23:31

这在显示用户计数时应该有一定的准确性。它使用缓存来存储用户的IP地址,并返回单个IP的计数。如果两个人在同一个代理后面,它将把它算作一个人。

代码语言:javascript
复制
using System.Runtime.Caching;

public int UsersOnlineCount
{
    get
    {
        return MemoryCache.Default.Where(kv => kv.Value.ToString() == "User").Count();
    }
}

确保每个人都被添加到缓存的最好方法是在构造函数中定义一些BaseController

代码语言:javascript
复制
public BaseController() : base() 
{
    CacheItemPolicy policy = new CacheItemPolicy();
    policy.AbsoluteExpiration = DateTime.UtcNow.AddMinutes(20);

    MemoryCache.Default.Add(System.Web.HttpContext.Current.Request.UserHostAddress, "User", policy);
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23122086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档