C# C语言中的分析#
我正在使用Microsoft Enterprise library登录c#以将事件记录到SQL DB中,我使用这些记录进行分析 在c#中有没有更好的分析方法。例如“来自SQL Server 2008的Microsoft StreamInsight” 另一种方法是在google analytics使用的HTML代码中嵌入Javascript。但是通过这种方式,我应该在HTTPPOST中将所有日志数据发送到日志服务器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中将所有日志数据发送到日志服务器 谢谢我发现一件有趣的事情是,如果你想跟踪你自己的用户,那就是实现一个动作过滤器 如
谢谢我发现一件有趣的事情是,如果你想跟踪你自己的用户,那就是实现一个动作过滤器 如果您使用的是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仅用于实时分析。对于长期分析,您需要使用另一种工具 如果你想跟踪桌面软件,你可以试试