¿Cuál sería una buena manera de restringir una aplicación web ASP.NET para que solo sirva una cantidad dada de usuarios simultáneos?¿Cómo implementar licencias flotantes en ASP.NET?
Algunos de los requisitos son:
- La aplicación requiere inicio de sesión (no hay necesidad de preocuparse por los usuarios anónimos).
- Compatibilidad con varios servidores (equilibrio de granja/carga).
- Se puede considerar que un usuario activo es lo mismo que una sesión activa (no firmado o caducado).
- Deben denegarse los inicios de sesión adicionales si se ha alcanzado el número máximo de usuarios simultáneos.
- Se necesita responsabilidad (los administradores deberían poder ver quiénes son los usuarios activos).
- Gastos generales mínimos en cada solicitud web (especialmente evitando viajes costosos a una base de datos en cada solicitud).
- El número total de usuarios concurrentes debe mantenerse correcto incluso si un servidor web se cuelga, se desconecta de la red o debe reiniciarse.
- Hay servidores adicionales disponibles para los servicios de host (por ejemplo, servidores de aplicaciones).
Parece que se trata de una cuestión de copiar y pegar de una especificación de requisitos. Cosas como "Responsabilidad es necesaria" y restringir a los usuarios concurrentes son dos cosas totalmente diferentes. Creo que deberías considerar hacer solo la pregunta específica aquí. – Illuminati
:) De hecho, acabo de tipear esto, soy el tipo que escribe las especificaciones. Quiero decir que cualquier método que se aplique debe ser lo suficientemente transparente para que los administradores puedan ver quién piensa que la aplicación está conectada cuando se alcanza el límite. –
Probablemente un HttpModule? Lo más probable es que necesite implementar esta lógica en los eventos 'AuthenticateRequest' y' PostAuthenticateRequest'. http://msdn.microsoft.com/en-us/library/ms178473.aspx –