Получение информации об активном сеансе из IIS 7 - PullRequest
0 голосов
/ 17 февраля 2010

Я управляю несколькими веб-сайтами ASP.NET с состоянием сеанса InProc, и я хотел бы получить количество активных сеансов для каждого веб-сайта и, надеюсь, какие-либо сведения о каждом сеансе (например, сведения о клиентских подключениях). Моя конечная цель - узнать, кто подключен к веб-сайту, чтобы я мог уведомить их при развертывании обновления.

Есть ли способ сделать это в .NET, не прибегая к состоянию сеанса SQL? Я посмотрел на Microsoft.Web.Administration, но не смог найти способ сделать это. А счетчик производительности "Sessions Active" в perfmon просто показывает общее количество сеансов для всего сервера (а также не дает метаданных о сеансах).

РЕДАКТИРОВАТЬ: В моих тестах со счетчиками производительности я тестировал с общим количеством активных сеансов, когда мне нужно было протестировать с экземпляром активных сеансов для моего веб-сайта. Это немного приближает меня, но я все же хотел бы получить информацию о сеансе для веб-сайта, если это возможно.

1 Ответ

0 голосов
/ 17 февраля 2010

Сессия - это концепция, а не реальность. Вы можете использовать псевдо-события asp.net global.asax для начала / конца сессии, чтобы отследить эту концепцию, но она все еще будет только приблизительной. Я думаю, что вам лучше всего поставить флажок «в процессе обслуживания» и поместить что-то в конвейер запросов, который обрабатывает его для всех входящих запросов.

Не знаю, как / что вы будете делать с этим, но я думаю, что вы собираетесь запустить здесь какой-то пользовательский код.

...