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)

Metadata

Metadata

Assignees

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions