Re[2]: Работа с сессиями.
От: AndreyFil Россия  
Дата: 14.04.04 07:05
Оценка:
Здравствуйте, mikа, Вы писали:

M>Здравствуйте, AndreyFil, Вы писали:


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


M>Если нужно InProc сессии, то

M>
M>0) string key = "System.Web.SessionState.InProcSessionState:" + id;
M>1) HttpRuntime.CacheInternal.Get(key)
M>


M>Если State Server


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



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


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


Я нельзя рассказать более подробно про State Server.
Просто у меня получается, что два разных приложения хранят сессии в одном месте.
Можно как-нибудь одно из приложений получить полный список сессий?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.