это мой первый пост на StackOverflow, но этот сайт просто потрясающий. Заранее благодарим за любую помощь, которую вы можете оказать.
У меня есть сайт, который предоставляет пользователям доступ к различным страницам на основе их разрешений, поэтому каждому пользователю необходимо динамически генерировать свое меню при входе в систему. Однако параметры пользователя, вероятно, не будут меняться очень часто.
В настоящее время сайт имеет главную страницу, которая извлекает список своих страниц из базы данных и создает меню. Это происходит каждый раз, когда пользователь загружает страницу.
Я хотел сократить количество обращений к базе данных, поэтому начал помещать данные меню в переменную 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.
}
Еще раз спасибо!