Re: Работа с сессиями.
От: mikа Stock#
Дата: 13.04.04 16:46
Оценка: 63 (6)
Здравствуйте, AndreyFil, Вы писали:

AF>Можно как-нибудь получить все сессии (коллекцию), которые есть в данные момент и обработать данные содержащиеся в них?


Если нужно InProc сессии, то
0) string key = "System.Web.SessionState.InProcSessionState:" + id;
1) HttpRuntime.CacheInternal.Get(key)


Если State Server

0) HttpContext.Current.ApplicationInstance
1) HttpApplication.Modules // находишь SessionStateModule
2) Получаешь через reflection SessionStateModule._store. Он реализует интерфейс ISessionStateStore. Именно через него (метод Get) можешь получить сессию,



Вся проблема в том, чтобы получить эти ключи (идентификаторы сессий). В первой случае можно пробежать как по IEnumerable и получить IDictionaryEnumerator. Соответсвенно отмести все ключи, которые не начинаются с "System.Web.SessionState.InProcSessionState"

Во втором несколько сложнее. Ключи храняться в этом сервисе и вряд ли он так просто отдаст эти значения. Так что тебе самому придется перехватывать Id сессий через свой модуль и каждый раз их проверять.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.