在asp.net mvc网站上收集统计数据?

时间:2011-12-14 01:04:16

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

嗨,我需要一些建议。

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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