Skip to content

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

@joshhanson314

Description

@joshhanson314

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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

  • Status

    In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions