Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 使用ASP.NET MVC 3和razor视图进行用户跟踪_Asp.net Mvc 3_Analytics - Fatal编程技术网

Asp.net mvc 3 使用ASP.NET MVC 3和razor视图进行用户跟踪

Asp.net mvc 3 使用ASP.NET MVC 3和razor视图进行用户跟踪,asp.net-mvc-3,analytics,Asp.net Mvc 3,Analytics,在ASP.NET MVC 3中使用Razor视图时,在整个网站中实现用户跟踪的最佳方法是什么 在webforms中,我会在母版页中添加一些代码,以使用cookie并在数据库中记录用户访问的网站上的每个url,但我不确定在ASP.NET MVC中在何处实现此代码。我想最好的方法是创建一个全局操作筛选器,并跟踪访问情况 创建操作筛选器属性: public class UserTrackingActionFilterAttribute : ActionFilterAttribute { pub

在ASP.NET MVC 3中使用Razor视图时,在整个网站中实现用户跟踪的最佳方法是什么


在webforms中,我会在母版页中添加一些代码,以使用cookie并在数据库中记录用户访问的网站上的每个url,但我不确定在ASP.NET MVC中在何处实现此代码。

我想最好的方法是创建一个全局操作筛选器,并跟踪访问情况

创建操作筛选器属性:

public class UserTrackingActionFilterAttribute : ActionFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext context)
    {
        base.OnResultExecuting(context);

        //save url, userId from session, etc...
    }
}
在全局asax中将其注册为全局筛选器:

protected void Application_Start()
{      
    // Register global filter
    GlobalFilters.Filters.Add(new UserTrackingActionFilterAttribute());

    RegisterGlobalFilters(GlobalFilters.Filters);
}

就这些。很好?

我不会用剃须刀的视角做任何事情

您将要构建一个并将其附加为一个。让它为你做所有的工作


太棒了,正是我想要的。对于周围的任何其他人,您可以使用
HttpContext
获取您可以在控制器中访问的
请求
响应
内容<代码>上下文.HttpContext.Request.Url。我想这就是获取URL的方式,还有字符串URL=Request.RawUrl;