Значение, сохраняемое в сеансе, зависит от значения в кэше HttpRuntime

У меня есть данные, общие для всех пользователей, которые хранятся в HttpRuntime.Cache,

Затем у меня есть некоторые пользовательские данные, хранящиеся в сеансе.

HttpRuntime.Cache имеет CacheDependency механизм, который может быть использован для определения отношений между элементами в кэше.

Что бы вы использовали для обработки зависимости между Session и Runtime Cache?

В дополнение к CacheDependencies, также есть CacheItemRemovedCallback, Я мог бы удалить определенные значения из каждой сессии во время этого обратного вызова, если это даже возможно.

1 ответ

Решение

Зависимость кеша работает по-другому, т.е. когда кеш зависит от чего-то другого, а не когда что-то зависит от кеша.

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

Другие вопросы по тегам