示例#1
0
        public void ProcessRequest(HttpContext context)
        {
            if (context.Request.QueryString["itemId"] != null)
            {
                var itemId = Convert.ToInt32(context.Request.QueryString["itemId"]);
                if (itemId > 0)
                {
                    ListItemId.Enqueue(itemId);
                }

                var msg = new Ads_MMSQ
                {
                    ListItemIds    = context.Request.QueryString["itemId"].ToString(CultureInfo.InvariantCulture),
                    ViewDate       = DateTime.Now,
                    IPAddress      = context.Request.UserHostAddress,
                    ReferUrl       = context.Request.QueryString["location"] ?? string.Empty,
                    SessionID      = context.Session.SessionID.ToString(CultureInfo.InvariantCulture),
                    TrueImpression = string.Empty
                };

                MsmQueueAds.Enqueue(msg);
            }
            string url = context.Request.QueryString["nextUrl"] ?? context.Request.QueryString["location"];

            if (!String.IsNullOrEmpty(url))
            {
                context.Response.Redirect(url, true);
            }
        }
示例#2
0
        /// <summary>
        /// Neu
        /// </summary>
        /// <param name="context"></param>
        public void ProcessRequest(HttpContext context)
        {
            #region Tracking Impression cho Quảng cáo
            if (context.Request.QueryString["itemIds"] != null && !String.IsNullOrEmpty(context.Request.QueryString["itemIds"].ToString()))
            {
                if (messageQueue)
                {
                    if (!String.IsNullOrEmpty(context.Request.QueryString["itemIds"]))
                    {
                        var msg = new Ads_MMSQ
                        {
                            ListItemIds    = context.Request.QueryString["itemIds"].ToString(CultureInfo.InvariantCulture),
                            ViewDate       = DateTime.Now,
                            IPAddress      = ClientIP(),
                            ReferUrl       = context.Request.QueryString["location"] ?? string.Empty,
                            SessionID      = context.Session.SessionID.ToString(CultureInfo.InvariantCulture),
                            TrueImpression = context.Request.QueryString["trueImpression"] != null && context.Request.QueryString["trueImpression"].ToString().Equals("1") ? "1" : "0"
                        };
                        if (!context.Request.IsLocal)
                        {
                            (new MessageQueue(LogMSMQ)).Send(msg);
                        }
                    }
                }
                else
                {
                    int key    = 0;
                    var itemId = context.Request.QueryString["itemIds"].ToString().Split(',');
                    foreach (string id in itemId)
                    {
                        key = Utils.Object2Integer(id);
                        if (key > 0)
                        {
                            ListItemId.Enqueue(key);
                        }
                    }
                }
            }

            // truong hop Auto
            if (context.Request.QueryString["type"] != null && context.Request.QueryString["type"].ToString().Equals("1"))
            {
                ProcessRequestClick(context);
            }
            #endregion

            #region Tracking TrueImpression
            if (context.Request.QueryString["trueImpression"] != null && !String.IsNullOrEmpty(context.Request.QueryString["trueImpression"].ToString()))
            {
            }

            #endregion

            #region Tracking Event cho Video Preroll
            if (context.Request.QueryString["event"] != null && context.Request.QueryString["itemId"] != null)
            {
                string strEvent = context.Request.QueryString["event"] ?? string.Empty;

                if (context.Request.QueryString["itemId"] != null && !String.IsNullOrEmpty(context.Request.QueryString["itemId"].ToString()))
                {
                    var pre = new QuangCao_Item_Preroll {
                        AdvID = Convert.ToInt32(context.Request.QueryString["itemId"]), Domain = context.Request.QueryString["domain"]
                    };
                    switch (strEvent)
                    {
                    case "firstQuartile":
                        pre.FirstQuartile = 1;
                        break;

                    case "midpoint":
                        pre.Midpoint = 1;
                        break;

                    case "thirdQuartile":
                        pre.ThirdQuartile = 1;
                        break;

                    case "complete":
                        pre.Complete = 1;
                        break;

                    default:
                        break;
                    }

                    prerollQueue.Enqueue(pre);
                }
                return;
            }
            #endregion

            #region Tracking View của bài viết gắn trên trang
            //Nếu tất cả các bài viết cần đo view thì sẽ sử dụng cái này để đo
            //http://tracking.vietnamnetad.vn/Dout/View.ashx?itemIds=123&detail=1
            if (context.Request.QueryString["itemId"] != null && context.Request.QueryString["detail"] != null && context.Request.QueryString["detail"].ToString().Equals("1"))
            {
                var ads = new Ads_Items {
                    AdvID = Convert.ToInt32(context.Request.QueryString["itemId"])
                };
                string key       = String.Format("Bai-chi-tiet-{0}", ads.AdvID);
                var    cacheItem = HttpContext.Current.Cache[key] as Ads_Items;
                if (cacheItem == null)
                {
                    cacheItem = ads.SelectOne();
                    Utils.SaveToCacheDependency(Constants.DATABASE_NAME, Constants.QUANGCAO_ITEM, key, cacheItem);
                }
                context.Response.Redirect(cacheItem.Url);
                return;
            }
            #endregion
        }