+ AccessQueue Playground is a demo Blazor application for testing and visualizing the AccessQueueService system. It allows you to simulate users requesting access, manage a queue, and experiment with configuration options such as expiration, activity, and capacity limits.
+
+
+
Project: AccessQueueService
+
Frontend: Blazor (BlazorBootstrap)
+
Backend: .NET 8
+
Features: User queue management, access revocation, activity simulation, and more.
+
+
+
How AccessQueueService Works
+
+
Requesting Access: Users are granted access if capacity is available, otherwise they are queued. Expiration and activity timeouts are enforced.
+
Queueing: Users in the queue must remain active to keep their spot. The queue is managed FIFO (first-in, first-out).
+
Dequeuing: When capacity is available, users are dequeued and granted access if still active.
+
Maintaining Access: Users must re-request access to remain active. Expiration can be rolling or fixed.
+
Revoking Access: Users can revoke their access, freeing up capacity for others.
+
+
+
Configuration Options
+
+
CapacityLimit: Max concurrent users with access.
+
ActivitySeconds: How long a user can be inactive before losing their spot.
+
ExpirationSeconds: How long before an access ticket expires.
+
RollingExpiration: If true, expiration resets on activity.
+
RefreshRateMilliseconds: How often the playground requests access for active users and updates the UI.
+
+
For now these options can only be set via appsettings.json. The Playground UI does not yet support changing these values.
+
+
About the Playground UI
+
+ The Playground UI lets you:
+
+
Add users to the queue and grant access.
+
Revoke access for individual users or all users.
+
Reset all data for testing.
+
See real-time updates of users with access, in queue, and inactive.
+
+
+
+
Source Code & Documentation
+
+ See the project repository for full documentation, source code, and usage instructions.
+