# HubPageContextStore class

> The HubPageContextStore class of Novior.MentorAgent.Server.Hubs: Singleton store that persists the last PageContextSnapshot per SignalR connection ID across…

- URL: https://docs.mentoragent.net/api/novior-mentoragent-server-hubs/hubpagecontextstore
- Verified with: MentorAgent 1.2.0
- Last updated: 2026-10-27
- Packages: Novior.MentorAgent.Server

Singleton store that persists the last [`PageContextSnapshot`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-models/pagecontextsnapshot) per SignalR connection ID across DI scope boundaries. SignalR creates a new DI scope for every hub method invocation, so the Scoped [`IMentorPageContext`](https://docs.mentoragent.net/api/novior-mentoragent-abstractions-interfaces/imentorpagecontext) resolved in `UpdatePageContext` is a different instance from the one resolved in `SendMessage`. This store bridges the gap: `UpdatePageContext` writes here; `SendMessage` reads and applies before the orchestrator runs.

## Definition

Namespace: `Novior.MentorAgent.Server.Hubs`. Package: `Novior.MentorAgent.Server`.

`public sealed class HubPageContextStore`

```shell
dotnet add package Novior.MentorAgent.Server
```

## Constructors

`public HubPageContextStore()`

## Methods

### `Get`

`public PageContextSnapshot? Get(string connectionId)`

### `Remove`

`public void Remove(string connectionId)`

### `Store`

`public void Store(string connectionId, PageContextSnapshot snapshot)`

---

- Previous: [ServerServiceExtensions class](https://docs.mentoragent.net/api/novior-mentoragent-server-extensions/serverserviceextensions.md)
- Next: [HubStateServiceDecorator class](https://docs.mentoragent.net/api/novior-mentoragent-server-hubs/hubstateservicedecorator.md)
