# Interface IHubOperationContext OptimaJet.Workflow.Api.Configuration.IHubOperationContext Provides state for one client invocation of a hub method. Namespace: [OptimaJet.Workflow.Api.Configuration](https://api.workflowengine.io/web-api/OptimaJet.Workflow.Api.Configuration/) ```csharp public interface IHubOperationContext ``` ## Properties `string OperationId { get; }` Gets the permanent operation ID. `Hub Hub { get; }` Gets the hub instance for this invocation. `HubCallerContext Caller { get; }` Gets the SignalR caller context. `MethodInfo Method { get; }` Gets the method selected by SignalR. `IReadOnlyList Arguments { get; }` Gets the current bound arguments. Treat their nested values as read-only after OnBefore. `IServiceProvider Services { get; }` Gets the service scope for this invocation, not the connection's HTTP scope. `ClaimsPrincipal User { get; }` Gets the connection principal. `CancellationToken CancellationToken { get; }` Gets the connection-aborted token. Cancellation is not converted into a fallback. `HttpContext? HttpContext { get; }` Gets the connection HTTP context when the transport provides one. `string? TenantId { get; }` Gets the normalized tenant ID captured before callbacks. This property alone does not grant tenant access. `IDictionary Items { get; }` Gets data shared by callbacks for this invocation only. ## Methods `void ReplaceArguments(IReadOnlyList arguments)` Replaces the complete argument list during OnBefore. Argument count and types must match the selected method. ### Parameters | Name | Type | Description | | --- | --- | --- | | `arguments` | `IReadOnlyList` | The replacement arguments; the list is copied. | ### Exceptions | Type | Description | | --- | --- | | `InvalidOperationException` | Called outside OnBefore or with incompatible arguments. | [Previous IHubOperationBuilder](https://api.workflowengine.io/web-api/OptimaJet.Workflow.Api.Configuration/IHubOperationBuilder/) [Next IOperationBuilder](https://api.workflowengine.io/web-api/OptimaJet.Workflow.Api.Configuration/IOperationBuilder-TInput-TSuccess/)