diff --git a/src/SignalR/server/SignalR/src/SignalRDependencyInjectionExtensions.cs b/src/SignalR/server/SignalR/src/SignalRDependencyInjectionExtensions.cs
index f663ac7254..a7ec121154 100644
--- a/src/SignalR/server/SignalR/src/SignalRDependencyInjectionExtensions.cs
+++ b/src/SignalR/server/SignalR/src/SignalRDependencyInjectionExtensions.cs
@@ -24,6 +24,11 @@ namespace Microsoft.Extensions.DependencyInjection
/// The same instance of the for chaining.
public static ISignalRServerBuilder AddHubOptions(this ISignalRServerBuilder signalrBuilder, Action> configure) where THub : Hub
{
+ if (signalrBuilder == null)
+ {
+ throw new ArgumentNullException(nameof(signalrBuilder));
+ }
+
signalrBuilder.Services.AddSingleton>, HubOptionsSetup>();
signalrBuilder.Services.Configure(configure);
return signalrBuilder;
@@ -36,6 +41,11 @@ namespace Microsoft.Extensions.DependencyInjection
/// An that can be used to further configure the SignalR services.
public static ISignalRServerBuilder AddSignalR(this IServiceCollection services)
{
+ if (services == null)
+ {
+ throw new ArgumentNullException(nameof(services));
+ }
+
services.AddConnections();
// Disable the WebSocket keep alive since SignalR has it's own
services.Configure(o => o.KeepAliveInterval = TimeSpan.Zero);
@@ -48,10 +58,15 @@ namespace Microsoft.Extensions.DependencyInjection
/// Adds SignalR services to the specified .
///
/// The to add services to.
- /// An to configure the provided .
+ /// An to configure the provided .
/// An that can be used to further configure the SignalR services.
public static ISignalRServerBuilder AddSignalR(this IServiceCollection services, Action configure)
{
+ if (services == null)
+ {
+ throw new ArgumentNullException(nameof(services));
+ }
+
return services.Configure(configure)
.AddSignalR();
}