diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs b/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs
index 2dca887414..81fb12c56b 100644
--- a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs
+++ b/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs
@@ -46,7 +46,7 @@ namespace Microsoft.AspNetCore.SignalR.Client
var loggerFactory = ((IHubConnectionBuilder)this).GetLoggerFactory();
var hubProtocol = ((IHubConnectionBuilder)this).GetHubProtocol();
- return new HubConnection(connection, hubProtocol ?? new JsonHubProtocol(new JsonSerializer()), loggerFactory);
+ return new HubConnection(connection, hubProtocol ?? new JsonHubProtocol(), loggerFactory);
}
[EditorBrowsable(EditorBrowsableState.Never)]
diff --git a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs b/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs
index fdfe9aef73..d060f8dda6 100644
--- a/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs
+++ b/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs
@@ -18,13 +18,13 @@ namespace Microsoft.AspNetCore.SignalR.Client
public static IHubConnectionBuilder WithJsonProtocol(this IHubConnectionBuilder hubConnectionBuilder)
{
- return hubConnectionBuilder.WithHubProtocol(new JsonHubProtocol(new JsonSerializer()));
+ return hubConnectionBuilder.WithHubProtocol(new JsonHubProtocol());
}
public static IHubConnectionBuilder WithMessagePackProtocol(this IHubConnectionBuilder hubConnectionBuilder)
{
return hubConnectionBuilder.WithHubProtocol(
- new MessagePackHubProtocol(MessagePackHubProtocol.CreateDefaultSerializationContext()));
+ new MessagePackHubProtocol());
}
public static IHubConnectionBuilder WithLoggerFactory(this IHubConnectionBuilder hubConnectionBuilder, ILoggerFactory loggerFactory)
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Internal/Protocol/JsonHubProtocol.cs b/src/Microsoft.AspNetCore.SignalR.Common/Internal/Protocol/JsonHubProtocol.cs
index 4bf45cd274..a4fc7cbe88 100644
--- a/src/Microsoft.AspNetCore.SignalR.Common/Internal/Protocol/JsonHubProtocol.cs
+++ b/src/Microsoft.AspNetCore.SignalR.Common/Internal/Protocol/JsonHubProtocol.cs
@@ -28,6 +28,15 @@ namespace Microsoft.AspNetCore.SignalR.Internal.Protocol
// ONLY to be used for application payloads (args, return values, etc.)
private JsonSerializer _payloadSerializer;
+ ///
+ /// Creates an instance of the using the default
+ /// to serialize application payloads (arguments, results, etc.). The serialization of the outer protocol can
+ /// NOT be changed using this serializer.
+ ///
+ public JsonHubProtocol()
+ : this(new JsonSerializer())
+ { }
+
///
/// Creates an instance of the using the specified
/// to serialize application payloads (arguments, results, etc.). The serialization of the outer protocol can
diff --git a/src/Microsoft.AspNetCore.SignalR.Common/Internal/Protocol/MessagePackHubProtocol.cs b/src/Microsoft.AspNetCore.SignalR.Common/Internal/Protocol/MessagePackHubProtocol.cs
index 77ad478fc1..c75c681222 100644
--- a/src/Microsoft.AspNetCore.SignalR.Common/Internal/Protocol/MessagePackHubProtocol.cs
+++ b/src/Microsoft.AspNetCore.SignalR.Common/Internal/Protocol/MessagePackHubProtocol.cs
@@ -26,6 +26,10 @@ namespace Microsoft.AspNetCore.SignalR.Internal.Protocol
public ProtocolType Type => ProtocolType.Binary;
+ public MessagePackHubProtocol()
+ : this(CreateDefaultSerializationContext())
+ { }
+
public MessagePackHubProtocol(SerializationContext serializationContext)
{
_serializationContext = serializationContext;
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs b/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs
index 39f7ab26ac..b56fecd10e 100644
--- a/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs
+++ b/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs
@@ -245,8 +245,8 @@ namespace Microsoft.AspNetCore.SignalR.Client.FunctionalTests
public static IEnumerable HubProtocols =>
new IHubProtocol[]
{
- new JsonHubProtocol(new JsonSerializer()),
- new MessagePackHubProtocol(MessagePackHubProtocol.CreateDefaultSerializationContext()),
+ new JsonHubProtocol(),
+ new MessagePackHubProtocol(),
};
public static IEnumerable TransportTypes()
diff --git a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionExtensionsTests.cs b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionExtensionsTests.cs
index 4c2f15fc2d..34e0a4b9ae 100644
--- a/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionExtensionsTests.cs
+++ b/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionExtensionsTests.cs
@@ -97,7 +97,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
private async Task InvokeOn(Action> onAction, object[] args)
{
var connection = new TestConnection();
- var hubConnection = new HubConnection(connection, new JsonHubProtocol(new JsonSerializer()), new LoggerFactory());
+ var hubConnection = new HubConnection(connection, new JsonHubProtocol(), new LoggerFactory());
var handlerTcs = new TaskCompletionSource