在 MVC 中捕获页面查看次数和更新数据库的最佳方法是什么?我已经了解了在建议使用操作过滤器的asp.net-mvc 解决方案中捕获每个用户的页面浏览量的最佳方法。但是,如果我们想要跟踪传递给 action 方法的每个唯一参数的页面浏览量——比如 stackoverflow 如何计算每个问题的页面访问量?我认为,在这种情况下,我们不能使用操作过滤器,因为不同参数的页面浏览量不同。
除了每次查看页面时增加数据库值之外,还有其他可用的解决方案吗?
在 MVC 中捕获页面查看次数和更新数据库的最佳方法是什么?我已经了解了在建议使用操作过滤器的asp.net-mvc 解决方案中捕获每个用户的页面浏览量的最佳方法。但是,如果我们想要跟踪传递给 action 方法的每个唯一参数的页面浏览量——比如 stackoverflow 如何计算每个问题的页面访问量?我认为,在这种情况下,我们不能使用操作过滤器,因为不同参数的页面浏览量不同。
除了每次查看页面时增加数据库值之外,还有其他可用的解决方案吗?
为什么不能使用动作过滤器
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 类来跟踪所有这些请求,然后以某种节奏将它们批量写入数据库/或在应用程序停机过程中写入数据库