Значение, сохраняемое в сеансе, зависит от значения в кэше HttpRuntime
У меня есть данные, общие для всех пользователей, которые хранятся в HttpRuntime.Cache
,
Затем у меня есть некоторые пользовательские данные, хранящиеся в сеансе.
HttpRuntime.Cache
имеет CacheDependency
механизм, который может быть использован для определения отношений между элементами в кэше.
Что бы вы использовали для обработки зависимости между Session и Runtime Cache?
В дополнение к CacheDependencies, также есть CacheItemRemovedCallback
, Я мог бы удалить определенные значения из каждой сессии во время этого обратного вызова, если это даже возможно.
1 ответ
Зависимость кеша работает по-другому, т.е. когда кеш зависит от чего-то другого, а не когда что-то зависит от кеша.
С использованием CacheItemRemovedCallback
обновить элементы в Session
Объект невозможен. Обратный вызов не вызывается в области действия определенного пользователя, поэтому вы не можете получить доступ к Session
объект. Вам придется хранить данные где-то еще, чтобы вы могли получить доступ к данным для всех пользователей, поскольку данные в зависимости от элемента, удаленного из кэша, могут принадлежать любому пользователю.