c# - 用户事件概况和统计数据

标签 c# asp.net analytics

我只是在探索什么是最佳实践/框架,用于实现收集和显示用户事件统计信息的功能,这些用户事件统计信息是用户特定的以及与 ASP.NET 中的登录用户事件相关的站点。例如,我想知道我网站上的特定登录用户,他/她在过去一天、一周等访问过哪个网站。频率是多少?前 5/10?以及对于整个网站,前 5 个热门页面或搜索词是什么(仅基于登录用户而不是爬虫或匿名访问)

我使用过 getclicky、webstats 和 google analytics 等网络统计工具。它们都很棒,但跟踪是基于一般访问,但我想要的是将其与我系统中定义的个人用户/角色或组织结构联系起来,并能够将它们报告给利益相关者。

如果我们有层次结构,比如用户->部门/组->公司,并尝试报告该用户最喜欢的 5 个网站是什么,这也会变得更有趣?该部门/业务单位/组中用户访问的前 5 个站点是什么?页面频率是多少?

问题:那么在 ASP.NET 中实现它的最佳方法是什么?是否有执行此操作的 httpModule 处理程序、框架或产品?

最佳答案

我会告诉你我做了什么。

  • 如果您知道要在统计数据中查找什么,例如,频率是多少,那么在插入新数据时进行此统计计算。

例如,假设您要搜索用户 A 访问了多少页。在连接这个用户 A 的统计表上保留一行,以及您需要的信息,并在您输入它们时计算它们,例如,在每个页面中,只需增加已查看的人数的计数器。这样您就可以进行在线统计,避免后台工作和数千行条目。我相信您首先需要知道要查找哪些统计信息,如果以后有更多统计信息,则稍后再添加。

  • 您可以在页面末尾添加对统计计算和插入的调用,使用线程或调用额外的处理程序,这样用户就不会延迟查看页面。

例如,在页面末尾:

<img src="/myStats.ashx?infos=CodeStringWithSomeInfos">

在 myStats.ashx 上,保存您的统计数据,并返回一个空的 gif。

  • 另外,当你显示数据时,即使你按时计算了大部分信息,总会有额外的东西你无法计算,当你显示这些统计数据并进行计算时,将它们保存在一个额外的表缓存中以加快速度。

关于c# - 用户事件概况和统计数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3984162/

相关文章:

c# - 无法使用 Unity Bootstrap 为 ASP.NET Web API nuget 包注入(inject) System.Web.Http.Filters.ActionFilterAttribute

youtube - Youtube Analytics:过滤仅在给定时间段内上传的视频

mongodb - 如何实现特定页面的浏览次数

c# - 派生类认为我的基类被删除了

c# - 如何在数据集中添加一列,每行都有一个变量值(int)

asp.net - RequiredFieldValidator CSS 改变了除了字体大小之外的一切

algorithm - 基本 "Algorithm"的 Big-O 分析不一致

c# - 如何在应用程序中禁用 Aero Snap?

C# 在使用 MemoryStream 类时尝试替换字节

asp.net - 如何在 ASP.NET 中创建唯一的网页地址