2010-02-25 3 views
0

Je suis dans un environnement C#/ASP.NET. J'ai une application Web qui a une série d'utilisateurs connectés - et j'ai un utilisateur maître qui doit savoir la dernière fois que tous les autres utilisateurs connectés sont allés à une page (c'est-à-dire fait une requête Http). Je suis capable d'obtenir une liste de tous les utilisateurs à travers un ensemble de variables de session grâce à la variable Application - mais je suis incapable d'obtenir beaucoup d'autre ...C# Dernière requête Heure

Je sais que je pourrais faire un tas de variables de session à travers la variable Application ou créez une table de hachage dans une seule variable Application/Session et maintenez-la au besoin - mais je pense qu'il devrait y avoir un moyen de demander à l'Application ou à un autre objet l'heure de la dernière requête d'une session cible. Le serveur devrait garder la trace de ce temps de toute façon ...

Le but de ce mini-système est de pouvoir voir les utilisateurs actifs et l'heure approximative de leur temps d'arrêt afin que nous puissions évaluer l'effet de prendre le site pour des mises à jour/réparations.

Toute aide/compréhension serait appréciée.

+0

Vous essayez de suivre la dernière fois qu'un utilisateur _given_ est allé sur une page? Ou vous essayez de suivre la dernière fois que l'utilisateur _any_ est allé à n'importe quelle page? – lance

+0

J'essaie de suivre la dernière fois qu'un utilisateur est allé à une page - mais j'ai aussi besoin de savoir quel utilisateur est allé à quelle page - donc je suppose que ma réponse à cette question est ... oui. – alexpwalsh

Répondre

1

Donc, je suppose qu'il existe deux types de temps d'arrêt, imprévu et programmé.

Une indisponibilité imprévue se produit lorsqu'un bogue fait perdre de l'argent à votre entreprise et doit être corrigé, quel que soit le nombre d'utilisateurs actuellement sur le système. Il n'y a pas beaucoup d'utilité à avoir un système qui vous indique le nombre d'utilisateurs actifs, car ce n'est pas pertinent.

Le temps d'arrêt planifié se produit dans le cadre du processus normal de correction des bogues non-show-stop et de l'ajout de fonctionnalités. Ce que je ferais dans cette situation est d'analyser les tendances des utilisateurs pour savoir à quel moment le nombre d'utilisateurs actifs est au plus bas. Cela réduirait au minimum la perturbation des utilisateurs. La façon dont j'irais à ce sujet est de prendre les journaux IIS pour le mois dernier et créer une requête dans LogParser qui groupe les demandes totales par heure, par jour, classés par nombre de demandes, croissant. Jeff Attwood a a nice post sur comment l'utiliser.

EDIT: J'ai rencontré this on codeproject via un autre message stackoverflow. On dirait que c'est peut-être ce que vous recherchez. En outre, si vous utilisez le fournisseur d'appartenance, vous pouvez utiliser la méthode GetNumberOfUsersOnline.

+0

D'accord .... mais ce n'est pas ma décision. Ce que le patron veut, c'est ce que veut le patron. – alexpwalsh

+0

Message mis à jour avec lien vers codeproject et MSDN. –

Questions connexes