Sha*_*dor 5 asp.net optimization session caching
这是我第一次在StackOverflow上发帖,但这个网站很棒.提前感谢您提供的任何帮助.
我有一个网站,允许用户根据他们的权限访问不同的页面,因此每个用户需要在他们登录时动态生成他们的菜单.但是,用户的选项可能不会经常更改.
该站点当前有一个Master页面,该页面从数据库中提取其页面列表并构建菜单.每次用户加载页面时都会这样做.
我想减少对数据库的调用,因此开始将菜单数据放入Session变量中.我希望有经验的人可以帮助我确保这是最好的方法.我想我更喜欢一种方法将它存储在用户的机器而不是服务器上.
我有这是我的主页页面加载:
User u = new User(Page.User.Identity.Name, Globals.getCnString());
DataTable menu;
if(Session["MENU"] == null)
{
Session["MENU"] = u.getMenu();
}
menu = (DataTable)Session["MENU"];
foreach (DataRow r in menu.Rows)
{
//build menu code here.
}
Run Code Online (Sandbox Code Playgroud)
再次感谢!
如果用户的选项不会经常更改,为什么不仅在发生更改时构建菜单,将其保存在用户的配置文件表(html 格式)中,并将其传递给母版页中的文字控件,而不是菜单,这样您就不会将其存储在用户的计算机上(不建议网站这样做)。
| 归档时间: |
|
| 查看次数: |
1012 次 |
| 最近记录: |