Bezdepbonusu7Программирование: статьи и ответы

Вопрос

ASP.Net MVC - лучший способ определить возвращающегося пользователя

Автор вопроса: Michael D.Ответов: 1

Я разрабатываю приложение для электронной коммерции, используя asp.net mvc.

После того, как пользователь успешно вошел в систему, приложение извлекает дополнительные данные из базы данных (избранное, история заказов, незавершенная корзина и т. д.)

Каков наилучший способ получить эти данные, если пользователь использовал опцию "Запомнить меня"?

Я думаю проверить, аутентифицирован ли пользователь, а дополнительные данные еще не загружены на главную страницу, но это кажется не лучшим решением.

Ответы

Ответ 1 · рейтинг 1 · James S

У меня есть пользовательский класс, который собирает все эти биты вместе.

При запуске сеанса я проверяю подлинность, создаю его, заполняю и сохраняю в переменной сеанса. Затем вы можете получить к нему доступ из любого места (я также создал статический класс Globals, который получает/преобразует объекты из переменных сеанса и приложения). Кроме того, вы можете делать это при каждой загрузке страницы.

Вышеупомянутое заботится о возвращающихся пользователях. Но вы также должны не забыть создать его при входе в систему и уничтожить при выходе из системы (из контроллера учетных записей).

Также я бы посоветовал вам подумать о том, что именно нужно хранить таким образом. Переменная сеанса отлично подходит для кэширования этих данных, но я не знаю, нужно ли кэшировать историю заказов. Обычно к нему обращаются только изредка. На самом деле, даже если вы решите не помещать класс в сеанс, а создавать его при каждой загрузке страницы, получение истории заказов кажется излишним. (В любом случае вы тратите ресурсы впустую - храните их в кеше или часто собираете.)

Джеймс

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы