如何在MVC中捕获页面视图

时间:2015-06-26 20:56:32

标签: asp.net-mvc pageviews

在MVC中捕获页面查看次数和更新数据库的最佳方法是什么?我已经完成了使用动作过滤器的what is the best way to capture page views per user in asp.net-mvc解决方案。但是,如果我们想跟踪传递给action方法的每个唯一参数的浏览量,那该怎么办 - 比如stackoverflow如何计算每个问题的页面访问量?我认为,在这种情况下我们不能使用动作过滤器,因为不同参数的页面视图不同。

每次查看页面时,是否有任何可用的解决方案,而不是增加数据库值?

1 个答案:

答案 0 :(得分:1)

为什么你不能使用动作过滤器

    public class MyActionFilter : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var actionName = filterContext.ActionDescriptor.ActionName;
            var controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            var parameterICareAbout = filterContext.ActionParameters["parameterICareAbout "];
            //write to database using parameterICareAbout
        }
     }

至于每次都不在数据库中存储值,您可以在应用程序中设置一个Singleton类来跟踪所有这些请求,然后在某些节奏下将它们批量写入数据库/或在应用程序期间写入数据库降级过程