Дополнительно
Как использовать сессии в приложении ASP.NET MVC 4?
Я новичок в ASP.NET MVC. Раньше я использовал PHP, и мне было легко создавать сессию и выбирать записи пользователей на основе текущих переменных сессии.
Я искал в Интернете простой пошаговый учебник, который покажет мне, как создавать и использовать сессии в моем приложении C# ASP.NET MVC 4. Я хочу создать сессию с пользовательскими переменными, к которым я могу обращаться из любого места в моих контроллерах и использовать переменные в моих LINQ-запросах.
-Заранее спасибо!
103
5
Попробуйте
В связи с тем, что веб не имеет статического характера, сессии также являются чрезвычайно полезным способом сохранения объектов при различных запросах путем их сериализации и хранения в сессии.
Идеальным примером может быть ситуация, когда вам нужно получить доступ к регулярной информации в вашем приложении, чтобы избежать дополнительных обращений к базе данных при каждом запросе, эти данные могут храниться в объекте и не сериализовываться при каждом запросе, например, так:
Наш многократно используемый, сериализуемый объект:.
Случай использования:
После сериализации этого объекта мы можем использовать его во всех контроллерах без необходимости его создания или повторного запроса к базе данных для получения содержащихся в нем данных.
Введите объект сессии с помощью инъекции зависимостей.
В идеальном мире вы бы 'программировали на интерфейс, а не на реализацию' и внедрили ваш сериализуемый объект сессии в ваш контроллер, используя выбранный вами контейнер инверсии контроля, примерно так (в этом примере используется StructureMap, так как я с ним наиболее хорошо знаком).
Затем вы зарегистрируете это в файле
Global.asax.cs
.Для тех, кто еще не знаком с инъекцией объектов сессии, вы можете найти более подробную статью в блоге на эту тему здесь.
Слово предупреждения:
Стоит отметить, что количество сессий должно быть минимальным, большие сессии могут начать вызывать проблемы с производительностью.
Также рекомендуется не хранить в них конфиденциальные данные (пароли и т.д.).
Вот как работает состояние сессии в ASP.NET и ASP.NET MVC:
ASP.NET Session State Overview
В основном, вы делаете это, чтобы сохранить значение в объекте Session:
Чтобы извлечь значение:
Вы можете хранить любые данные в сессии, используя:
Эта переменная будет длиться 20 минут или около того.
Вы можете хранить любое значение в сессии, как Сессии [на"имя" и] = FirstNameTextBox.Текста; но я предлагаю U, чтобы принять как статическое поле в модели присвоить значение и вы можете получить доступ к этому полю значение где-либо в приложении. У Дон'т нужна сессия. сессии следует избегать.
на контролера - сотрудника.Полное имя = на "АВС" и; Теперь вы можете открыть это полное название в любом месте в приложение.