0

在 MVC 中捕获页面查看次数和更新数据库的最佳方法是什么?我已经了解了在建议使用操作过滤器的asp.net-mvc 解决方案中捕获每个用户的页面浏览量的最佳方法。但是,如果我们想要跟踪传递给 action 方法的每个唯一参数的页面浏览量——比如 stackoverflow 如何计算每个问题的页面访问量?我认为,在这种情况下,我们不能使用操作过滤器,因为不同参数的页面浏览量不同。

除了每次查看页面时增加数据库值之外,还有其他可用的解决方案吗?

4

1 回答 1

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 类来跟踪所有这些请求,然后以某种节奏将它们批量写入数据库/或在应用程序停机过程中写入数据库

于 2015-06-26T21:23:49.273 回答