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); } }