我正在使用Microsoft企业库日志记录在c#中记录SQL DB中的事件,并将此记录用于分析目的。分析#
有什么更好的方式在c#中进行分析。例如“来自SQL Server 2008的Microsoft StreamInsight”。
另一种方法是将Javascript嵌入到谷歌分析正在使用的HTML代码中。但通过这种方式,我应该将所有日志数据发送到HTTP POST中的日志服务器。
感谢
我正在使用Microsoft企业库日志记录在c#中记录SQL DB中的事件,并将此记录用于分析目的。分析#
有什么更好的方式在c#中进行分析。例如“来自SQL Server 2008的Microsoft StreamInsight”。
另一种方法是将Javascript嵌入到谷歌分析正在使用的HTML代码中。但通过这种方式,我应该将所有日志数据发送到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.
}
}
而这可以通过以下方式来调用:
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);
}
}
Analytics(分析)是一种基于服务器的工具 - 你通常不会做它在C#中,因为它涉及到大量的数据,这些服务器公用事业在更好。
您可以使用StreamInsight在您的网站上执行分析。您可以在页面中拥有自定义代码,将消息发送到SI,并从您感兴趣的Web服务器收集perfmon计数器。然后,您可以实时分析这些信息,以提供对性能和负载的主动监控。也就是说,StreamInsight仅用于实时分析。对于长期分析,您需要使用其他工具。
如果你想跟踪桌面软件,你可以尝试http://www.trackerbird.com – Dive50 2013-07-24 15:32:40