C#中的分析

Rez*_*eza 5 c# asp.net-mvc analytics

我在c#中使用Microsoft Enterprise库日志记录来记录SQL DB中的事件,我将此记录用于分析目的.

在c#中有没有更好的分析方法.例如"来自SQL Server 2008的Microsoft StreamInsight".

另一种方法是在谷歌分析正在使用的HTML代码中嵌入Javascript.但是通过这种方式,我应该将所有日志记录数据发送到HTTP post中的日志记录服务器.

谢谢

Max*_*ler 3

我发现有趣的一件事是,如果您想跟踪自己的用户,就需要实现操作过滤器。

如果您使用 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)