Распределен ли кэш ASP.Net между различными пользовательскими сеансами? - PullRequest
9 голосов
/ 04 марта 2009

На странице, если я сделаю следующее:

Cache ["key"] = myObject;

Доступен ли этот кэшированный объект для запросов других пользователей?

Ответы [ 3 ]

15 голосов
/ 04 марта 2009

Да. Кэш-память уровня приложения, и все пользователи находятся в одном приложении.

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

10 голосов
/ 04 марта 2009

Да, он доступен для всех пользователей на одном сервере. Однако если вы используете ферму, она будет доступна только пользователям, которые используют сервер, на котором данные были добавлены в кэш.

2 голосов
/ 16 апреля 2009

Кэш хорош для каждого домена приложений. Одно приложение, такое как веб-приложение, обычно остается в одном домене приложений. Но кеш не может быть разделен между чем-то вроде веб-приложения и веб-службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...