Example #1
0
 /// <summary>
 /// 保存单个用户访问数据.
 /// </summary>
 /// <param name="data"></param>
 public void SaveUserAccessInfo(UserAccessInfo data)
 {
     using (MyUserMonitorContext context = new MyUserMonitorContext())
     {
         context.UserAccessInfos.Add(data);
         context.SaveChanges();
     }
 }
        private User GetUser()
        {
            UserAccessInfo userAccessInfo = WcfContext.Current.GetUserAccessInfo();

            if (userAccessInfo == null)
            {
                return(null);
            }
            return(userAccessInfo.User);
        }
        /// <summary>
        /// 用户访问.
        /// </summary>
        /// <param name="groupCode"></param>
        /// <param name="userName"></param>
        public void UserAccess(string groupCode, string userName)
        {
            UserAccessInfo userAccessInfo;

            lock (this.userAccessDataList)
            {
                var query =
                    from data in this.userAccessDataList
                    where
                    data.GroupCode == groupCode &&
                    data.UserName == userName
                    select
                    data;

                userAccessInfo = query.FirstOrDefault();

                if (userAccessInfo == null)
                {
                    // 首次访问.
                    userAccessInfo = new UserAccessInfo()
                    {
                        GroupCode   = groupCode,
                        UserName    = userName,
                        AccessCount = 0,
                        EnterTime   = DateTime.Now,
                    };

                    this.userAccessDataList.Add(userAccessInfo);


                    // 通知 其他等待的线程
                    Monitor.Pulse(this.userAccessDataList);
                }
            }

            // 共通处理.
            userAccessInfo.LastAccessTime = DateTime.Now;
            userAccessInfo.AccessCount++;

            // 处理完成.
        }
Example #4
0
 public AgentsController(IStringLocalizer <AgentsController> localizer, WelcomeContext context, UserAccessInfo UserInfo)
 {
     _localizer = localizer;
     _context   = context;
     _userinfo  = UserInfo;
 }
Example #5
0
        public void SaveUserAccessInfo(UserAccessInfo data)
        {
            string line = GetCsvOneLine(data) + "/r/n";

            File.AppendAllText(csvFileName, line, Encoding.UTF8);
        }
Example #6
0
        private string GetCsvOneLine(UserAccessInfo data)
        {
            string result = String.Format("{0},{1},{2:yyyy-MM-dd HH:mm:ss},{3:yyyy-MM-dd HH:mm:ss},{4}", data.GroupCode, data.UserName, data.EnterTime, data.LastAccessTime, data.AccessCount);

            return(result);
        }
Example #7
0
 public HotelReservationsController(IStringLocalizer <HotelReservationsController> localizer, WelcomeContext context, UserAccessInfo UserInfo)
 {
     _localizer = localizer;
     _context   = context;
     _userinfo  = UserInfo;
 }