public virtual async Task <TrackingResult> OnTrackingAction(ActionExecutingContext filterContext)
 {
     return(await Tracker.TrackPageViewAsync(
                filterContext.RequestContext.HttpContext,
                BuildCurrentActionName(filterContext),
                BuildCurrentActionUrl(filterContext)));
 }
Example #2
0
        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));
        }