Как получить коллекцию объектов состояния сеанса в ASP.NET? - PullRequest
4 голосов
/ 30 ноября 2009

Как получить коллекцию всех объектов Session в ASP.NET? (Обратите внимание, что я НЕ ищу коллекцию объектов, хранящихся в объекте Session, но все сами объекты сеанса.)

Это страница администратора, на которой будут перечислены все активные сеансы и, если пользователь вошел в систему, будет также указано имя пользователя и т. Д.

Язык: C # Framework: ASP.NET MVC 1.0 (3.5 SP1)

РЕДАКТИРОВАТЬ: пара хороших ответов на данный момент с решением, о котором я думал, но не упомянул в своем первоначальном вопросе, а именно о добавлении и удалении объектов сеанса в session_onStart и session_onEnd. Причина, по которой я этого еще не сделал, заключается в том, что мне трудно поверить, что коллекция объектов Session нам не доступна. Я предполагаю, что ASP.NET хранит эту коллекцию возражений Session в коллекции некоторого типа, поэтому я пытаюсь выяснить, как получить эту коллекцию. Я рад написать дополнительный код для управления им самостоятельно, но я не фанат создания дополнительных накладных расходов и кода для поддержки, если эта функциональность уже существует.

Ответы [ 2 ]

3 голосов
/ 30 ноября 2009

вы можете использовать глобальный asax и следующие методы.

sub session_onStart() 

    application.lock() 
    // your logic
    application.unlock() 

end sub 

sub session_onEnd() 

    application.lock() 
// your logic
    application.unlock() 

end sub 
2 голосов
/ 30 ноября 2009

Вы можете использовать файл global.asax и добавить собственный код к событию Session_OnStart , вы можете получить информацию о пользователе и обновить ее в базе данных, которая может кормить вашу страницу администратора.

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