Rez*_*eza 5 c# asp.net-mvc analytics
我在c#中使用Microsoft Enterprise库日志记录来记录SQL DB中的事件,我将此记录用于分析目的.
在c#中有没有更好的分析方法.例如"来自SQL Server 2008的Microsoft StreamInsight".
另一种方法是在谷歌分析正在使用的HTML代码中嵌入Javascript.但是通过这种方式,我应该将所有日志记录数据发送到HTTP post中的日志记录服务器.
谢谢
我发现有趣的一件事是,如果您想跟踪自己的用户,就需要实现操作过滤器。
如果您使用 ASP.NET MVC 3,您只需将此过滤器注册为全局过滤器,您将能够记录对每个控制器中的操作的每次访问。
整个 HttpContext 在这些方法中可用。
public class TrackerFilterAttribute : ActionFilterAttribute
{
public TrackerFilterAttribute()
{
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
//TODO: Do my tracking here.
}
}
Run Code Online (Sandbox Code Playgroud)
可以通过以下方式调用:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new TrackerFilterAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1122 次 |
| 最近记录: |