示例#1
0
        public void InterviewTrace(Guid uid, string url)
        {
            for (int j = 0; j < 10; j++) //重试10次,找到这个访客
            {
                var view = InterviewBll.GetFirstEntity(i => i.Uid.Equals(uid));
                if (view != null)
                {
                    view.InterviewDetails.Add(new InterviewDetail()
                    {
                        Time = DateTime.Now,
                        Url  = url
                    });
                    if (view.InterviewDetails.Count >= 2)
                    {
                        TimeSpan ts  = DateTime.Now - view.InterviewDetails.FirstOrDefault().Time;
                        string   len = string.Empty;
                        if (ts.Hours > 0)
                        {
                            len += $"{ts.Hours}小时";
                        }

                        if (ts.Minutes > 0)
                        {
                            len += $"{ts.Minutes}分钟";
                        }
                        len                   += $"{ts.Seconds}.{ts.Milliseconds}秒";
                        view.OnlineSpan        = len;
                        view.OnlineSpanSeconds = ts.TotalSeconds;
                    }
                    InterviewBll.UpdateEntitySaved(view);
                    break;
                }
                Thread.Sleep(1000);
            }
        }