我正在使用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