Постоянные объекты в ASP.NET - PullRequest
0 голосов
/ 22 мая 2010

Я пытаюсь найти лучший способ сохранить объект или использовать тот же объект на более позднем этапе кода.Итак, я создаю объект, затем вы перенаправляетесь на другую страницу (форму), которая должна использовать переменные из этого объекта.Эта форма передается третьей стороне, и с ее стороны делается что-то еще, а затем они запрашивают страницу в моем приложении, которая запускает еще немного кода и снова нуждается в переменных объекта.

  • Я думал о базе данных, но все это делается одновременно.Это делается во время процесса проверки пользователем, и после его завершения нет причин возвращать этот объект снова.Таким образом, добавление и извлечение из базы данных кажется излишним, и я думаю, что это замедлит процесс.
  • Сейчас я использую Session, но я продолжаю слышать, чтобы не использовать это, но никто на самом деле не говоритпочему я не должен этого делать, за исключением того, что это плохая практика.
  • Я не могу использовать значения обратной передачи, потому что страницы не работают таким образом.Процесс извлечения начинается с кода dll, который перенаправляет на форму, отправляемую третьей стороне, и третья сторона запрашивает страницу.
  • Начал читать об объекте Cache, но я этим не пользовалсяпока, и я еще не уверен в этом.

Итак, я не совсем уверен в лучшем способе.Каковы все варианты и что каждый рекомендует как лучший способ?

1 Ответ

1 голос
/ 22 мая 2010

Если вы используете сеанс, и сеанс истекает, вы теряете данные.Пользователь должен начать все сначала.Кроме того, все эти данные хранятся в течение примерно 20 минут после того, как пользователь покидает страницу, по умолчанию

Сохранение их в базе данных неплохо, и запись может дать вам полезные данные журнала аудита позже.*

Объект кеша - это глобальный кеш, поэтому он не специфичен для конкретного пользователя.Любой пользователь или страница в домене приложения могут получить доступ к этим данным.Вы можете использовать имя пользователя, чтобы сохранить его, но я думаю, что база данных - лучший вариант

...