Постоянные объекты в ASP.NET
Я пытаюсь найти лучший способ сохранить объект или использовать тот же объект на более позднем этапе кода. Итак, я создаю объект, а затем вы перенаправляетесь на другую страницу (форму), которая должна использовать переменные из этого объекта. Эта форма передается третьей стороне, и на ее стороне делается что-то еще, а затем они запрашивают страницу в моем приложении, которая запускает еще немного кода и снова нуждается в переменных объекта.
- Я думал о базе данных, но это все сделано сразу. Это делается во время процесса проверки пользователем, и после его завершения нет никакой причины снова извлекать этот объект. Таким образом, добавление и извлечение из базы данных кажется излишним, и я думаю, что это замедлит процесс.
- Прямо сейчас я использую Сессию, но я продолжаю слышать, чтобы не использовать это, но никто на самом деле не говорит, почему я не должен, кроме как это плохая практика.
- Я не могу использовать значения обратной связи, потому что страницы не работают таким образом. Процесс оформления заказа начинается с кода dll, который перенаправляет на форму, отправляемую третьей стороне, и страница запрашивается третьей стороной.
- Начал читать об объекте Cache, но я этим еще не пользовался и пока не уверен в этом.
Так что я не совсем уверена в лучшем способе. Каковы все варианты и что каждый рекомендует как лучший способ?
1 ответ
Если вы используете сеанс, и сеанс истекает, вы потеряете данные. Пользователь должен начать все сначала. Кроме того, по умолчанию все эти данные остаются в течение 20 минут после того, как пользователь покидает страницу.
Сохранение этого в базе данных не плохо, и запись может дать вам полезные данные аудита позже.
Объект кеша - это глобальный кеш, поэтому он не специфичен для конкретного пользователя. Любой пользователь или страница в домене приложения могут получить доступ к этим данным. Вы можете использовать имя пользователя, чтобы сохранить его, но я думаю, что база данных - лучший вариант