Як використовувати сесії в ASP.NET MVC 4 додатку?
Я новачок в ASP.NET MVC. Раніше я використовував PHP, і мені було легко створювати сеанс і вибирати записи користувачів на основі змінних поточного сеансу.
Я шукав скрізь в Інтернеті простий покроковий підручник, який може показати мені, як створювати і використовувати сеанси в моєму додатку C# ASP.NET MVC 4. Я хочу створити сеанс з користувацькими змінними, до яких я можу отримати доступ з будь-якого місця в моїх контролерах і мати можливість використовувати ці змінні в моїх LINQ запитах.
-Заздалегідь дякую!
103
3
Спробуйте
Через бездержавну природу Інтернету, сесії також є надзвичайно корисним способом збереження об'єктів під час запитів шляхом їх серіалізації та зберігання в сеансі.
Ідеальним випадком використання цього може бути, якщо вам потрібно отримати доступ до регулярної інформації у вашому додатку, щоб заощадити додаткові виклики бази даних при кожному запиті, ці дані можуть зберігатися в об'єкті і не серіалізуватися при кожному запиті, як це зроблено нижче:
Наш багаторазовий, серіалізований об'єкт:.
**Варіант використання
Після того, як цей об'єкт було серіалізовано, ми можемо використовувати його у всіх контролерах без необхідності його створення або повторного запиту до бази даних для отримання даних, що містяться в ньому.
**Впровадьте об'єкт сеансу за допомогою Dependency Injection
В ідеальному світі ви могли б 'програма до інтерфейсу, а не реалізація' і вставити ваш об'єкт сеансу, що серіалізується, у ваш контролер, використовуючи вибраний вами контейнер Inversion of Control, ось так (у цьому прикладі використовується StructureMap, оскільки він є найбільш знайомим мені).
Потім ви повинні зареєструвати це у вашому файлі
Global.asax.cs
.Для тих, хто не знайомий з ін'єкцією об'єктів сеансу, ви можете знайти більш детальну статтю в блозі на цю тему тут.
**Слово попередження
Варто зазначити, що сеанси повинні бути зведені до мінімуму, великі сеанси можуть почати викликати проблеми з продуктивністю.
Також не рекомендується зберігати в них будь-які конфіденційні дані (паролі тощо).
Так працює стан сесії в ASP.NET та ASP.NET MVC:
Огляд стану сеансу ASP.NET.
В основному, це робиться для того, щоб зберегти значення в об'єкті Session:
Щоб отримати значення: