Skip to content

GeneratedSignalRHubRegistration

NexusLabs.Needlr.SignalR

NexusLabs.Needlr.SignalR

GeneratedSignalRHubRegistration Class

Marker interface for source-generated SignalR hub registration.

public static class GeneratedSignalRHubRegistration

Inheritance System.Object 🡒 GeneratedSignalRHubRegistration

Remarks

When using source generation, the generator emits a SignalRHubRegistrations.MapGeneratedHubs(WebApplication) extension method that can be called directly in your Program.cs:

var app = builder.Build();
app.MapGeneratedHubs(); // Generated at compile-time

This approach is preferred for AOT/trimmed applications because it avoids all runtime reflection. The SignalRHubRegistrationPlugin uses reflection and is marked with appropriate AOT warnings.

To enable hub registration generation, implement IHubRegistrationPlugin with compile-time constant property values:

public class ChatHubPlugin : IHubRegistrationPlugin
{
    public string HubPath => "/chat";
    public Type HubType => typeof(ChatHub);
}

Methods

GeneratedSignalRHubRegistration.DocumentationPlaceholder() Method

Extension method placeholder that provides documentation for source-generated hub registration. The actual implementation is generated by NexusLabs.Needlr.Generators when IHubRegistrationPlugin implementations are discovered.

public static void DocumentationPlaceholder();

Remarks

This method exists to provide IntelliSense documentation. The generated NexusLabs.Needlr.Generated.SignalRHubRegistrations.MapGeneratedHubs() extension method should be called instead.