Exemple #1
0
        /// <summary>
        /// 记录用户浏览
        /// </summary>
        /// <returns></returns>
        private async Task VisitUser(int?id = 0)
        {
            var userHostAddress = Request.HttpContext.Connection.RemoteIpAddress?.ToString();
            var ipaddress       = userHostAddress.Replace("::ffff:", "");

            Console.WriteLine(ipaddress);
            if (ipaddress == "::1")
            {
                return;
            }
            if (id.Value == 0)
            {
                //判断是否浏览过
                bool isNull = _visit.IsAddress(ipaddress);
                //如果浏览过
                if (isNull)
                {
                    return;
                }
                await _visit.SaveAddress(new VisitAmount()
                {
                    ipaddress     = ipaddress,
                    visitDateTime = DateTime.Now
                });

                return;
            }
            else
            {
                //判断用户是否浏览过这篇文章
                bool isVisitAc = await _visit.IsVisitAc(ipaddress, id.Value);

                if (isVisitAc)
                {
                    return;
                }
                var visitinfo = new VisitAmount()
                {
                    ipaddress     = ipaddress,
                    visitDateTime = DateTime.Now,
                    ArticleId     = id
                };
                await _visit.SaveAddress(visitinfo);

                return;
            }
        }
Exemple #2
0
        public async Task SaveAddress(VisitAmount visitinfo)
        {
            await _db.VisitAmounts.AddAsync(visitinfo);

            await _db.SaveChangesAsync();
        }