public virtual async Task <TrackingResult> OnTrackingAction(ActionExecutingContext filterContext) { return(await Tracker.TrackPageViewAsync( filterContext.RequestContext.HttpContext, BuildCurrentActionName(filterContext), BuildCurrentActionUrl(filterContext))); }
public static async Task <TrackingResult> TrackPageViewAsync(this Tracker tracker, HttpContextBase httpContext, string pageTitle, string pageUrl = null) { var pageViewParameters = new PageView { DocumentTitle = pageTitle, DocumentLocationUrl = pageUrl, UserAgent = httpContext.Request.UserAgent, DocumentHostName = httpContext.Request.UserHostName, UserLanguage = httpContext.Request.UserLanguages != null?string.Join(";", httpContext.Request.UserLanguages).ToLower() : null, ReferralUrl = httpContext.Request.UrlReferrer != null?httpContext.Request.UrlReferrer.ToString() : null, CacheBuster = tracker.AnalyticsSession.GenerateCacheBuster() }; return(await tracker.TrackPageViewAsync(pageViewParameters)); }
public static async Task <TrackingResult> TrackPageViewAsync(this Tracker tracker, HttpContextBase httpContext, string pageTitle, string pageUrl) { var request = httpContext.Request; var beaconParameters = new Dictionary <string, string>(); beaconParameters.Add(BeaconParameter.HostName, request.Url.Host); if (request.UserLanguages != null) { beaconParameters.Add(BeaconParameter.Browser.Language, string.Join(";", request.UserLanguages)); } if (request.UrlReferrer != null) { beaconParameters.Add(BeaconParameter.Browser.ReferralUrl, request.UrlReferrer.ToString()); } return(await tracker.TrackPageViewAsync(pageTitle, pageUrl, userAgent : request.UserAgent, beaconParameters : beaconParameters)); }