コード例 #1
0
 public virtual async Task <TrackingResult> OnTrackingAction(HttpActionContext filterContext)
 {
     return(await Tracker.TrackPageViewAsync(
                filterContext.Request,
                BuildCurrentActionName(filterContext),
                BuildCurrentActionUrl(filterContext)));
 }
コード例 #2
0
        public virtual async Task <TrackingResult> OnTrackingAction(HttpActionExecutedContext filterContext)
        {
            SetRequestPropertiesCustomVariables(filterContext);

            return(await Tracker.TrackPageViewAsync(
                       filterContext.Request,
                       BuildCurrentActionName(filterContext),
                       BuildCurrentActionUrl(filterContext)));
        }
コード例 #3
0
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            if (!String.IsNullOrEmpty(analyticsId))
            {
                string baseUrl = actionContext.ControllerContext.GetWorkContext().CurrentSite.BaseUrl;

                using (var tracker = new Tracker(analyticsId, baseUrl))
                {
                    tracker.TrackPageViewAsync(actionContext.Request, _title);
                }
            }
        }
コード例 #4
0
        public static async Task <TrackingResult> TrackPageViewAsync(this Tracker tracker, HttpRequestMessage httpRequest, string pageTitle, string pageUrl, Dictionary <string, string> beaconParameters = null)
        {
            var internalBeaconParameters = new Dictionary <string, string>();

            internalBeaconParameters.Add(BeaconParameter.HostName, httpRequest.RequestUri.Host);
            internalBeaconParameters.Add(BeaconParameter.Browser.Language, httpRequest.Headers.AcceptLanguage.ToString());
            if (httpRequest.Headers.Referrer != null)
            {
                internalBeaconParameters.Add(BeaconParameter.Browser.ReferralUrl, httpRequest.Headers.Referrer.ToString());
            }

            if (beaconParameters != null)
            {
                foreach (var beaconParameter in beaconParameters)
                {
                    internalBeaconParameters[beaconParameter.Key] = beaconParameter.Value;
                }
            }

            return(await tracker.TrackPageViewAsync(pageTitle, pageUrl,
                                                    userAgent : httpRequest.Headers.UserAgent.ToString(),
                                                    beaconParameters : internalBeaconParameters
                                                    ));
        }