C# C语言中的分析#

C# C语言中的分析#,c#,asp.net-mvc,analytics,C#,Asp.net Mvc,Analytics,我正在使用Microsoft Enterprise library登录c#以将事件记录到SQL DB中,我使用这些记录进行分析 在c#中有没有更好的分析方法。例如“来自SQL Server 2008的Microsoft StreamInsight” 另一种方法是在google analytics使用的HTML代码中嵌入Javascript。但是通过这种方式,我应该在HTTPPOST中将所有日志数据发送到日志服务器 谢谢我发现一件有趣的事情是,如果你想跟踪你自己的用户,那就是实现一个动作过滤器 如

我正在使用Microsoft Enterprise library登录c#以将事件记录到SQL DB中,我使用这些记录进行分析

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

另一种方法是在google analytics使用的HTML代码中嵌入Javascript。但是通过这种方式,我应该在HTTPPOST中将所有日志数据发送到日志服务器


谢谢

我发现一件有趣的事情是,如果你想跟踪你自己的用户,那就是实现一个动作过滤器

如果您使用的是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.
    }
}
这可以通过以下方式调用:

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);
    }
}

分析是一种基于服务器的工具-您通常不会在C#中进行分析,因为它涉及大量数据,而服务器实用程序更擅长于此。

您可以使用StreamInsight在您的网站上执行分析。您可以在页面中使用自定义代码向SI发送消息,并从感兴趣的web服务器收集性能计数器。然后,您可以实时分析这些信息,以提供对性能和负载的主动监控。
也就是说,StreamInsight仅用于实时分析。对于长期分析,您需要使用另一种工具

如果你想跟踪桌面软件,你可以试试