【问题标题】:Collecting Stats on an asp.net mvc site?在 asp.net mvc 站点上收集统计信息?
【发布时间】:2012-01-19 20:49:21
【问题描述】:

您好,我需要一些建议。

我需要一种方法来跟踪我网站上的用户活动,而无需第三方工具(例如 google anayltics)。

所以基本上任何来到我网站的请求我都需要触发一个异步任务,该任务将收集用户信息并写入数据库。最好的方法是什么?

我试图编写一个异步 httphandler,但我无法开始工作。每个请求都会被多次命中(对于所有资源文件,如 css jpg ...)。

【问题讨论】:

  • 这在过去 3 年里对我很有帮助。 codereview.stackexchange.com/questions/4659/… 我发帖是为了获得一些帮助以使其更快,但它已经工作了 3 年,到目前为止表中有超过 200 万行。会更多,但我会不时修剪。
  • 感谢蒂姆的信息。我最终使用了自定义过滤器。我在 global.asax 文件中注册的那个。

标签: c# asp.net-mvc multithreading httphandler


【解决方案1】:

我目前正在使用 log4net 做类似的事情。

我设置的 log4net 与 article 所做的非常相似。之后,您可以创建一个 logger 属性,该属性继承您可以附加到控制器的 ActionFilterAttribute,我个人有一个基本控制器,我将我的 logger 属性应用到。

在您的属性中,您将覆盖 OnActionExecuting 并在您想要的 log4net 记录器中记录有关当前执行操作的所有信息。只要确保你包含 base.OnActionExecuting(filtercontext) 你不想搞砸任何 mvc 管道,你只是在某个点上钩住它来做一些日志记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多