# SignalRs Server-side SignalR hub infrastructure: hub base class, session management, data source with change tracking, and client broadcast service. ## Key Files ### Hub - **`AcWebSignalRHubBase.cs`** — Abstract hub extending `Hub`. Manages connection lifecycle, message dispatch via `DynamicMethodRegistry`, binary/JSON parameter deserialization. Response methods: `ResponseToCaller()`, `SendMessageToOthers()`, `SendMessageToUserIdInternal()`. - **`IAcSignalRHubItemServer.cs`** — Server hub interfaces: `IAcSignalRHubItemServer`, `IAcSignalRHubServer`. - **`AcLoggerSignalRHub.cs`** — Specialized hub for receiving log items via SignalR (`AddLogItem()`). ### Session & Broadcast - **`AcSessionService.cs`** — Generic session manager with `ConcurrentDictionary`. - **`IAcSessionItem.cs`** — Session item interface with `SessionId` property. - **`AcSignalRSendToClientService.cs`** — Abstract broadcast service: `SendMessageToClient()`, `SendMessageToAllClients()`, `SendMessageToConnection()`, `SendMessageToUser()`. ### Data Source - **`AcSignalRDataSource.cs`** — Server-side data source implementing `IList` with change tracking (`TrackingItem`, `ChangeTracking`). Supports `LoadDataSource()`, `LoadDataSourceFromResponseData()` with binary/JSON deserialization. ### Utilities - **`ExtensionMethods.cs`** — `InvokeMethod()` — invokes methods and unwraps `Task`/`Task`/`ValueTask` results. - **`TrackingItemHelpers.cs`** — Deep clone helpers: `JsonClone()`, `ReflectionClone()`.