/// <summary>Initializes a new instance of the <see cref="JsonRpcSerializer" /> class.</summary> /// <param name="requestContracts">The request contracts.</param> /// <param name="responseContracts">The response contracts.</param> /// <param name="staticResponseBindings">The static response bindings.</param> /// <param name="dynamicResponseBindings">The dynamic response bindings.</param> public JsonRpcSerializer( IDictionary <string, JsonRpcRequestContract> requestContracts = null, IDictionary <string, JsonRpcResponseContract> responseContracts = null, IDictionary <JsonRpcId, string> staticResponseBindings = null, IDictionary <JsonRpcId, JsonRpcResponseContract> dynamicResponseBindings = null) { _requestContracts = requestContracts ?? new Dictionary <string, JsonRpcRequestContract>(StringComparer.Ordinal); _responseContracts = responseContracts ?? new Dictionary <string, JsonRpcResponseContract>(StringComparer.Ordinal); _staticResponseBindings = staticResponseBindings ?? new Dictionary <JsonRpcId, string>(); _dynamicResponseBindings = dynamicResponseBindings ?? new Dictionary <JsonRpcId, JsonRpcResponseContract>(); _compatibilityLevel = JsonRpcCompatibilityLevel.Level2; }
/// <summary>Initializes a new instance of the <see cref="JsonRpcSerializer" /> class.</summary> /// <param name="contractResolver">The JSON-RPC message contract resolver instance.</param> /// <param name="jsonSerializer">The JSON serializer instance.</param> /// <param name="compatibilityLevel">The JSON-RPC protocol compatibility level.</param> public JsonRpcSerializer(IJsonRpcContractResolver contractResolver = null, JsonSerializer jsonSerializer = null, JsonRpcCompatibilityLevel compatibilityLevel = default) { _contractResolver = contractResolver; _jsonSerializer = jsonSerializer ?? JsonSerializer.CreateDefault(_jsonSerializerSettings); _compatibilityLevel = compatibilityLevel; }