/// <summary> /// 获取本逻辑类单例 /// </summary> /// <returns></returns> public static MenuInfoBll GetInstence() { if (_MenuInfoBll == null) { _MenuInfoBll = new MenuInfoBll(); } return _MenuInfoBll; }
/// <summary> /// 获取本逻辑类单例 /// </summary> /// <returns></returns> public static MenuInfoBll GetInstence() { if (_MenuInfoBll == null) { _MenuInfoBll = new MenuInfoBll(); } return(_MenuInfoBll); }
/// <summary> /// 根据菜单Url地址,获取菜单相应内容 /// </summary> /// <param name="menuInfoUrl">页面地址</param> /// <returns>返回菜单实体</returns> public MenuInfo GetMenuInfo(string menuInfoUrl) { try { //从全局缓存中读取菜单内容 //获取菜单实体 return((MenuInfo)(MenuInfoBll.GetInstence().GetHashtable()[menuInfoUrl])); } catch (Exception) { return(new MenuInfo()); } }
/*********************************************************************** * 自定义函数 * ***********************************************************************/ #region 自定义函数 #region 添加用户操作日志 /// <summary> /// 添加用户操作日志 /// </summary> /// <param name="page">页面指针</param> /// <param name="useLogOccurrence">用户操作内容备注,{0}=用户名称,{1}=当前页面名称</param> public void Save(Page page, string useLogOccurrence) { try { //创建用户操作日志对象 var uselog = new UseLog(); //记录登录时间 uselog.AddDate = DateTime.Now; //当前用户ID uselog.Manager_Id = OnlineUsersBll.GetInstence().GetManagerId(); //当前用户名称 uselog.Manager_CName = OnlineUsersBll.GetInstence().GetManagerCName(); //当前页面ID var menu = MenuInfoBll.GetInstence().GetMenuInfo(page.Request.Url.AbsolutePath); if (menu == null) { uselog.MenuInfo_Id = 0; } else { uselog.MenuInfo_Id = menu.Id; //当前页面名称 uselog.MenuInfo_Name = menu.Name; } //判断是否为首页 if (uselog.MenuInfo_Id == 0) { if (page.Request.Url.AbsolutePath.Equals("/WebManage/Main.aspx")) { //当前页面名称 uselog.MenuInfo_Name = "首页"; } } //当前用户IP uselog.Ip = IpHelper.GetUserIp(); //操作内容 uselog.Notes = StringHelper.FilterSql(String.Format(useLogOccurrence, uselog.Manager_CName, uselog.MenuInfo_Name)); //插入记录 uselog.Save(); } catch (Exception e) { //记录日志 CommonBll.WriteLog("添加用户操作日志时出现异常", e); } }
/// <summary> /// 添加用户访问页面记录 /// </summary> public static void UserRecord(Page page) { //检查用户是否存在 OnlineUsersBll.GetInstence().IsTimeOut(); //获取当前用户的编号 var userHashKey = OnlineUsersBll.GetInstence().GetUserHashKey(); //获取当前页面名称 var menuName = ""; //取得当前页面实体 var menu = MenuInfoBll.GetInstence().GetMenuInfo(page.Request.Url.AbsolutePath); if (menu != null) { menuName = menu.Name; } //判断是否为首页 if (string.IsNullOrEmpty(menuName)) { if (page.Request.Url.AbsolutePath.Equals("/WebManage/Main.aspx")) { //当前页面名称 menuName = "首页"; } } //更新当前用户所在页面路径 OnlineUsersBll.GetInstence().UpdateUserOnlineInfo(userHashKey, OnlineUsersTable.CurrentPage, page.Request.Url.AbsolutePath); //更新当前用户所在页面名称 OnlineUsersBll.GetInstence().UpdateUserOnlineInfo(userHashKey, OnlineUsersTable.CurrentPageTitle, menuName); //同步更新数据库 //设置需要更新的字段 var dic = new Dictionary <string, object>(); dic.Add(OnlineUsersTable.CurrentPage, page.Request.Url.AbsolutePath); dic.Add(OnlineUsersTable.CurrentPageTitle, menuName); //设置更新条件 var wheres = new List <ConditionFun.SqlqueryCondition>(); wheres.Add(new ConditionFun.SqlqueryCondition(ConstraintType.And, OnlineUsersTable.UserHashKey, Comparison.Equals, userHashKey)); //更新 OnlineUsersBll.GetInstence().UpdateValue(page, dic, wheres, "", true, false); //添加用户访问记录 UseLogBll.GetInstence().Save(page, "{0}进入了【{1}】页面"); }
/// <summary> /// 添加用户访问页面记录 /// </summary> public static void UserRecord(Page page) { //获取当前用户的编号 var userHashKey = OnlineUsersBll.GetInstence().GetUserHashKey(); //获取当前页面名称 var menuName = ""; //取得当前页面实体 var menu = MenuInfoBll.GetInstence().GetMenuInfo(page.Request.Url.AbsolutePath); if (menu != null) { menuName = menu.Name; } //判断是否为首页 if (string.IsNullOrEmpty(menuName)) { if (page.Request.Url.AbsolutePath.Equals("/WebManage/Main.aspx")) { //当前页面名称 menuName = "首页"; } } //更新当前用户所在页面路径 OnlineUsersBll.GetInstence() .UpdateUserOnlineInfo(userHashKey, OnlineUsersTable.CurrentPage, page.Request.Url.AbsolutePath); //更新当前用户所在页面名称 OnlineUsersBll.GetInstence().UpdateUserOnlineInfo(userHashKey, OnlineUsersTable.CurrentPageTitle, menuName); //同步更新数据库与缓存 //获取在线用户Id var id = OnlineUsersBll.GetInstence().GetOnlineUsersId(); if (id > 0) { //更新 OnlineUsersBll.GetInstence() .UpdateValue(page, id, OnlineUsersTable.CurrentPage, page.Request.Url.AbsolutePath, OnlineUsersTable.CurrentPageTitle, menuName, "", true, false); } //添加用户访问记录 UseLogBll.GetInstence().Save(page, "{0}进入了【{1}】页面"); }