Почему был бы ASP.NET MVC использовать состояние сеанса?

Ошибка синтаксиса: ошибка синтаксиса, неожиданный T_XXX

Случается, когда в неожиданном месте есть T_XXX токен , несбалансированные (лишние) круглые скобки, использование короткого тега без его активации в php.ini и т. д.

Вопросы, относящиеся:

Для получения дополнительной помощи см .:

  • http://phpcodechecker.com/ - что дает более полезные объяснения ваших синтаксических проблем.

33
задан edymtt 13 December 2012 в 18:49
поделиться

4 ответа

Сессия используется для хранилища TempData. TempData является очень ограниченной формой состояния сеанса, которое продлится только до следующего запроса от определенного пользователя. ( Редактирование В MVC 2 +, это длится, пока это затем не читается.) Цель TempData состоит в том, чтобы хранить данные, затем сделать перенаправление и иметь хранившие данные быть доступной действию, к которому Вы просто перенаправили.

Используя Сессию для хранилища TempData означает, что любая система распределенного кэширования, которая уже обрабатывает Сессию, будет работать на TempData. Избегание использования Сессии непосредственно, когда TempData сделает, имеет несколько преимуществ. Каждый - это, Вы не должны очищать Сессию сами; TempData "истечет" самостоятельно.

33
ответ дан Craig Stuntz 27 November 2019 в 18:20
поделиться

Рекомендуемый командой ASP.NET для использования кэша вместо сессии

@ray247 Вы могли обеспечить ссылку для этого? Сессия и Кэш отличаются по своей природе и должны использоваться в зависимости от требований к приложению. Например, храня пользователя определенные данные в кэш могли привести к нежелательному поведению. Конечно, если Вы действительно хотите избегать использования сессии, Вы могли бы обеспечить свою собственную реализацию интерфейс ITempDataProvider.

13
ответ дан Darin Dimitrov 27 November 2019 в 18:20
поделиться

Хм... Может быть Вы читали о сохранении тяжелых объектов или относительно редко получали доступ к объектам - определенно лучше поместить их в кэш, но для световых объектов или для данных, которые требуются в каждом запросе нет никакой лучшей техники, чем помещенный их в Сессию.

Сессии не являются злыми при использовании их правильно.

6
ответ дан maxnk 27 November 2019 в 18:20
поделиться

Еще одна мысль. TempData имеет свою собственную цель, и MS знала, что в отношении постоянного механизма TempData будут разные взгляды. Итак, по умолчанию они сделали постоянное хранилище SessionState. Но дизайн по-прежнему очень гибкий. В зависимости от потребностей проекта и управления, которым он руководствуется, вы можете создать собственного поставщика временных данных в соответствии с конкретными требованиями.

Вот несколько указателей на ресурсы TempData

Вот некоторые дополнительные улучшения в реализации TempData Улучшения TempData

Вот альтернативная реализация с использованием MS Velocity Распределенное кэширование. Velocity TempData Provider

3
ответ дан 27 November 2019 в 18:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: