Quel serait un bon moyen de restreindre une application Web ASP.NET pour ne desservir qu'un nombre donné d'utilisateurs simultanés?Comment implémenter des licences flottantes dans ASP.NET?
Certaines exigences sont les suivantes:
- application nécessite une connexion (pas besoin de se soucier des utilisateurs anonymes).
- Prise en charge de plusieurs serveurs (batterie/équilibrage de charge).
- Un utilisateur actif peut être considéré comme identique à une session active (pas déconnecté ou expiré).
- Les connexions supplémentaires doivent être refusées si le nombre maximal d'utilisateurs simultanés a été atteint.
- La reddition de comptes est nécessaire (les administrateurs devraient être en mesure de voir qui sont les utilisateurs actifs).
- Charge minimale sur chaque requête Web (en évitant notamment les déplacements coûteux vers une base de données à chaque requête).
- Le nombre total d'utilisateurs simultanés doit rester correct même si un serveur Web se bloque, se déconnecte du réseau ou doit être redémarré.
- Des serveurs supplémentaires sont disponibles pour héberger des services (par exemple des serveurs d'applications).
Il semble que ce soit un copier-coller d'une spécification d'exigence. Des choses comme «La responsabilité est nécessaire» et restreindre les utilisateurs simultanés sont deux choses totalement différentes. Je pense que vous devriez envisager de poser seulement la question spécifique ici? – Illuminati
:) En fait, je viens de taper ceci, je suis le gars qui écrit les spécifications. Je veux dire que quelle que soit la méthode appliquée, elle devrait être suffisamment transparente pour permettre aux administrateurs de voir à qui l'application pense être connecté lorsque la limite est atteinte. –
Probablement un HttpModule? Vous aurez probablement besoin d'implémenter cette logique dans les événements 'AuthenticateRequest' et' PostAuthenticateRequest'. http://msdn.microsoft.com/en-us/library/ms178473.aspx –