Является ли использование SessionID + MemoryCache в ASP.NET безопасным и хорошим дизайном? - PullRequest
1 голос
/ 17 мая 2011

Для каждого пользователя, который входит в мое приложение ASP, он выполняет некоторый запрос из базы данных. Чтобы уменьшить трафик, я хочу кешировать каждый их результат запроса в течение примерно 10 ~ 30 секунд, поэтому, когда один и тот же пользователь запрашивает один и тот же запрос в течение продолжительности, он получит свой результат непосредственно из кэша.

Но так как MemoryCache является глобальным, мне интересно, если я сделаю:

MemoryCache UserMemoryCache = new MemoryCache(MySession.SessionID);

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

1 Ответ

1 голос
/ 17 мая 2011

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

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