Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abstracting the data persistence of the Blazor state management session storage #4565

Open
joshhanson314 opened this issue Mar 2, 2025 · 1 comment

Comments

@joshhanson314
Copy link
Member

The Csla.Blazor.State.SessionManager uses a concurrent dictionary as a build in session store. In a load balanced environment, multiple instances of a Blazor server application using the state management subsystem can each only access sessions stored in their own memory. This causes failures to look up and update these sessions for a client's requests that may be handled by multiple instances of the application.

The storage mechanism can be abstracted to use any implementation of data persistence. The default implementation can continue to be an in memory session store that still implements a concurrent dictionary. Extensibility points can be provided to override this storage abstraction rather than needing to override the entire logic of the ISessionManager implementation.

(This was discussed in the Discord channel on 1/22/25)

@joshhanson314
Copy link
Member Author

I have created a fork and branch to contribute this feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

2 participants