2010-02-17 10 views
0

J'utilise plusieurs sites Web ASP.NET avec l'état de session InProc et je souhaite récupérer le nombre de sessions actives par site Web et, espérons-le, les détails de chaque session (par ex.). Mon objectif final est de pouvoir voir qui est connecté au site Web afin de pouvoir les informer lors du déploiement d'une mise à jour.Récupération des informations de session active depuis IIS 7

Y at-il un moyen de faire cela dans .NET sans avoir recours à l'état de session SQL? J'ai regardé Microsoft.Web.Administration mais n'ai pas pu trouver un moyen de le faire. Et le compteur de performance "Sessions Active" dans perfmon donne juste le nombre total de sessions pour l'ensemble du serveur (en plus de ne donner aucune métadonnée sur les sessions).

EDIT: Dans mes tests avec les compteurs de performance, j'ai testé avec Total Sessions Active lorsque j'aurais dû tester avec l'instance de Sessions Active pour mon site web. Cela me rapproche un peu, mais j'aimerais quand même récupérer les informations de session pour le site web si possible.

Répondre

0

La session est un concept, pas une réalité. Vous pouvez utiliser les pseudo-événements asp.net global.asax pour le début/la fin de la session afin de suivre ce concept, mais ce ne sera encore qu'une approximation. Je pense que votre meilleur pari est de basculer sur votre drapeau "maintenance en cours" et de mettre quelque chose dans le pipeline de demande qui le gère pour toutes les demandes entrantes.

Je ne sais pas comment/quoi vous feriez avec cela, mais je pense que vous allez rouler du code personnalisé ici.