public CacheHelper(string name, ICacheProviderFactory cpf, IDistributedLockFactory factory, IKeyFormatter formatter, IValueSerializer serializer, RecyclableMemoryStreamManager manager, IOptionsMonitor <CacheOptions> options, int defaultTTl) { if (cpf == null) { throw new ArgumentNullException(nameof(cpf)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } _factory = factory ?? throw new ArgumentNullException(nameof(factory)); _formatter = formatter; _manager = manager; _options = options.CurrentValue; _defaultTTl = defaultTTl < 1 ? _options.DefaultTtl : defaultTTl; _provider = cpf.Create($"{_options.KeyPrefix}/Cache/{_name = name}"); _serializer = _options.CompressValue ? new CompressionSerializer(serializer, manager) : serializer; }
public PropertyDescriptor(string id, Func <object, T> getter, Action <object, T> setter, IValueSerializer <T> serializer) { Id = id; _getter = getter; _setter = setter; _serializer = serializer; }
public static ReadOnlyMemory <byte> Serialize <TV>(this IValueSerializer serializer, [AllowNull] TV value) { if (serializer == null) { throw new ArgumentNullException(nameof(serializer)); } Stream stream = new MemoryStream(); try { serializer.Serialize(value, ref stream); if (stream is MemoryStream ms) { return(ms.ToArray()); } if (stream is ReadOnlyMemoryStream roms) { return(roms.Memory); } using var s = new MemoryStream(); stream.CopyTo(s); return(s.ToArray()); } finally { stream.Dispose(); } }
public static IValueSerializer GetConverter(PropertyInfo property, Type neededType) { if (neededType == typeof(bool)) { return(BooleanConverterExtension.Instance); } IValueSerializer conv = null; if (property != null) { conv = NotInvalid(ValueSerializer.GetValueSerializer(property)); } conv = conv ?? NotInvalid(ValueSerializer.GetValueSerializer(neededType)); // Don't use the built-in enum value serializer if (EnumVSType.IsInstanceOfType(conv)) { return(EnumValueSerializerExtension.Instance); } var colType = ListConverter.FindICollectionType(neededType); if (colType != null) { return(ListConverter.Instance); } return(conv ?? ValueSerializer.Invalid); }
public GetUserResultParser(IEnumerable <IValueSerializer> serializers) { IReadOnlyDictionary <string, IValueSerializer> map = serializers.ToDictionary(); if (!map.TryGetValue("String", out IValueSerializer serializer)) { throw new ArgumentException( "There is no serializer specified for `String`.", nameof(serializers)); } _stringSerializer = serializer; if (!map.TryGetValue("DateTime", out serializer)) { throw new ArgumentException( "There is no serializer specified for `DateTime`.", nameof(serializers)); } _dateTimeSerializer = serializer; if (!map.TryGetValue("Int", out serializer)) { throw new ArgumentException( "There is no serializer specified for `Int`.", nameof(serializers)); } _intSerializer = serializer; }
/// <summary> Adds a new serializer that can serialize the given type. </summary> public void Add <T>(IValueSerializer <T> serializer) { lock (_valueSerializers) { _valueSerializers[typeof(T)] = serializer; } }
private IReadOnlyDictionary <string, object?>?SerializeVariables( IOperation operation) { IReadOnlyList <VariableValue> variableValues = operation.GetVariableValues(); if (variableValues.Count > 0) { var map = new Dictionary <string, object?>(); foreach (VariableValue variableValue in variableValues) { IValueSerializer serializer = _valueSerializerResolver.GetValueSerializer(variableValue.TypeName); map.Add( variableValue.Name, SerializeVariable(variableValue.Value, serializer)); } return(map); } return(null); }
public YamlCassetteStorage() { var uriYamlTypeConverter = new UriYamlTypeConverter(); var versionYamlTypeConverter = new VersionYamlTypeConverter(); var nameValueCollectionYamlTypeConverter = new NameValueCollectionYamlTypeConverter(); var cassetteBodyYamlTypeConverter = new CassetteBodyYamlTypeConverter(); var serializerBuilder = new SerializerBuilder() .DisableAliases() .WithTypeConverter(versionYamlTypeConverter) .WithTypeConverter(nameValueCollectionYamlTypeConverter) .WithTypeConverter(uriYamlTypeConverter) .WithTypeConverter(cassetteBodyYamlTypeConverter) .ConfigureDefaultValuesHandling(DefaultValuesHandling.OmitDefaults); _serializer = serializerBuilder.BuildValueSerializer(); var deserializerBuilder = new DeserializerBuilder() .WithTypeConverter(versionYamlTypeConverter) .WithTypeConverter(nameValueCollectionYamlTypeConverter) .WithTypeConverter(uriYamlTypeConverter) .WithTypeConverter(cassetteBodyYamlTypeConverter) .WithNodeDeserializer(new ConstructorNodeDeserializer <CassetteRecord>(), r => r.OnTop()) // We want to ignore nullable checks in lambda function #nullable disable .WithNodeDeserializer(new ConstructorNodeDeserializer <CassetteRecordRequest>(() => new CassetteRecordRequest(null, null, null, (CassetteBody)null)), r => r.OnTop()) .WithNodeDeserializer(new ConstructorNodeDeserializer <CassetteRecordResponse>(() => new CassetteRecordResponse(null, 0, null, null, (CassetteBody)null, (CassetteRecordRequest)null)), r => r.OnTop()); #nullable enable
private void TestSerializer(IValueSerializer serializer, string name) { //First check we can set and get strings byte[] bytes; bytes = serializer.Serialize("TestString"); var str = serializer.Deserialize(bytes) as string; Assert.AreEqual("TestString", str); //Then check performance of type serialization var userObject = JsonConvert.DeserializeObject <User>("{\"$id\":\"1\",\"ApplicationId\":\"00000000-0000-0000-0000-000000000000\",\"Id\":\"b2f29128-24c0-4a8a-b3cd-8bfc0378bd72\",\"UserName\":\"[email protected]\",\"LoweredUserName\":\"[email protected]\",\"MobileAlias\":null,\"IsAnonymous\":false,\"LastActivityDate\":\"0001-01-01T00:00:00\",\"FirstName\":\"Vinsight\",\"LastName\":\"Support\",\"isApiUser\":false,\"Application\":null,\"ApplicationReference\":{\"EntityKey\":null},\"UsersInRoles\":[{\"$id\":\"2\",\"EntryNum\":9,\"UserId\":\"b2f29128-24c0-4a8a-b3cd-8bfc0378bd72\",\"RoleId\":\"881ea4f6-d7db-4890-8418-15e84fc910b9\",\"OrganisationId\":\"c663e81d-57e2-4ba6-a40c-6c587101ae95\",\"Organisation\":{\"$id\":\"3\",\"Id\":\"00000000-0000-0000-0000-000000000000\",\"Name\":\"Vinsight Support\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[{\"$ref\":\"2\"}],\"Subscriptions\":[],\"Applications\":[],\"Users\":[],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},\"Org anisationReference\":{\"EntityKey\":null},\"Role\":{\"$id\":\"4\",\"ApplicationId\":\"700d72d5-946e-4fb0-aff2-75c4f61fd2c9\",\"Id\":\"881ea4f6-d7db-4890-8418-15e84fc910b9\",\"Name\":\"Admins\",\"LoweredName\":\"admins\",\"Description\":null,\"IsReadOnly\":false,\"Application\":{\"$id\":\"5\",\"Name\":\"vinsight\",\"LoweredName\":null,\"Id\":\"700d72d5-946e-4fb0-aff2-75c4f61fd2c9\",\"Description\":null,\"EntityKey\":null},\"ApplicationReference\":{\"EntityKey\":null},\"UsersInRoles\":[{\"$ref\":\"2\"}],\"ResourcePermissions\":[],\"EntityKey\":null},\"RoleReference\":{\"EntityKey\":null},\"User\":{\"$ref\":\"1\"},\"UserReference\":{\"EntityKey\":null},\"EntityKey\":null},{\"$id\":\"6\",\"EntryNum\":20,\"UserId\":\"b2f29128-24c0-4a8a-b3cd-8bfc0378bd72\",\"RoleId\":\"3e744d7f-d43d-41f4-ac4a-4bc1ac6fb1de\",\"OrganisationId\":\"c663e81d-57e2-4ba6-a40c-6c587101ae95\",\"Organisation\":{\"$id\":\"7\",\"Id\":\"00000000-0000-0000-0000-000000000000\",\"Name\":\"Vinsight Support\",\"LoweredName\":null,\"Connections\":[],\" UsersInRoles\":[{\"$ref\":\"6\"}],\"Subscriptions\":[],\"Applications\":[],\"Users\":[],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},\"OrganisationReference\":{\"EntityKey\":null},\"Role\":{\"$id\":\"8\",\"ApplicationId\":\"700d72d5-946e-4fb0-aff2-75c4f61fd2c9\",\"Id\":\"3e744d7f-d43d-41f4-ac4a-4bc1ac6fb1de\",\"Name\":\"ApplicationAdmins\",\"LoweredName\":\"applicationadmins\",\"Description\":null,\"IsReadOnly\":false,\"Application\":{\"$id\":\"9\",\"Name\":\"vinsight\",\"LoweredName\":null,\"Id\":\"700d72d5-946e-4fb0-aff2-75c4f61fd2c9\",\"Description\":null,\"EntityKey\":null},\"ApplicationReference\":{\"EntityKey\":null},\"UsersInRoles\":[{\"$ref\":\"6\"}],\"ResourcePermissions\":[],\"EntityKey\":null},\"RoleReference\":{\"EntityKey\":null},\"User\":{\"$ref\":\"1\"},\"UserReference\":{\"EntityKey\":null},\"EntityKey\":null},{\"$id\":\"10\",\"EntryNum\":28,\"UserId\":\"b2f29128-24c0-4a8a-b3cd-8bfc0378bd72\",\"RoleId\":\" d17a5b3f-5394-4ebd-af11-56468974fce5\",\"OrganisationId\":\"c663e81d-57e2-4ba6-a40c-6c587101ae95\",\"Organisation\":{\"$id\":\"11\",\"Id\":\"00000000-0000-0000-0000-000000000000\",\"Name\":\"Vinsight Support\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[{\"$ref\":\"10\"}],\"Subscriptions\":[],\"Applications\":[],\"Users\":[],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},\"OrganisationReference\":{\"EntityKey\":null},\"Role\":{\"$id\":\"12\",\"ApplicationId\":\"700d72d5-946e-4fb0-aff2-75c4f61fd2c9\",\"Id\":\"d17a5b3f-5394-4ebd-af11-56468974fce5\",\"Name\":\"Users\",\"LoweredName\":\"users\",\"Description\":null,\"IsReadOnly\":false,\"Application\":{\"$id\":\"13\",\"Name\":\"vinsight\",\"LoweredName\":null,\"Id\":\"700d72d5-946e-4fb0-aff2-75c4f61fd2c9\",\"Description\":null,\"EntityKey\":null},\"ApplicationReference\":{\"EntityKey\":null},\"UsersInRoles\":[{\"$ref\":\"10\"}],\"ResourcePermissions\":[],\"EntityK ey\":null},\"RoleReference\":{\"EntityKey\":null},\"User\":{\"$ref\":\"1\"},\"UserReference\":{\"EntityKey\":null},\"EntityKey\":null}],\"Subscriptions\":[],\"Organisations\":[{\"$id\":\"14\",\"Id\":\"3e8b7d0a-8155-405d-8729-3811dd14a5fe\",\"Name\":\"Empty Test\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[],\"Subscriptions\":[],\"Applications\":[],\"Users\":[{\"$ref\":\"1\"}],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},{\"$id\":\"15\",\"Id\":\"6ab925a8-07e1-444d-aa9c-3af1f6c5a670\",\"Name\":\"My Test Company9\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[],\"Subscriptions\":[],\"Applications\":[],\"Users\":[{\"$ref\":\"1\"}],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},{\"$id\":\"16\",\"Id\":\"a40be8bb-e71f-4363-a042-437e401ab1ca\",\"Name\":\"My Test Company11\",\"LoweredName\":null,\"Connections\":[],\" UsersInRoles\":[],\"Subscriptions\":[],\"Applications\":[],\"Users\":[{\"$ref\":\"1\"}],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},{\"$id\":\"17\",\"Id\":\"284440de-0a41-4c57-9984-4d19af8f20fb\",\"Name\":\"My Test Company6\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[],\"Subscriptions\":[],\"Applications\":[],\"Users\":[{\"$ref\":\"1\"}],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},{\"$id\":\"18\",\"Id\":\"c663e81d-57e2-4ba6-a40c-6c587101ae95\",\"Name\":\"Vinsight Support\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[],\"Subscriptions\":[],\"Applications\":[],\"Users\":[{\"$ref\":\"1\"}],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},{\"$id\":\"19\",\"Id\":\"c3c3f80c-2b34-4ba2-9e7f-9582a2c44ca9\",\"Name\":\"My Test C ompany5\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[],\"Subscriptions\":[],\"Applications\":[],\"Users\":[{\"$ref\":\"1\"}],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},{\"$id\":\"20\",\"Id\":\"f345c188-d288-4fc2-a269-bb9229eb0475\",\"Name\":\"My Test Company7\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[],\"Subscriptions\":[],\"Applications\":[],\"Users\":[{\"$ref\":\"1\"}],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},{\"$id\":\"21\",\"Id\":\"429db3c7-d022-4ee6-afcb-ec99d6236a1b\",\"Name\":\"My Test Company8\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[],\"Subscriptions\":[],\"Applications\":[],\"Users\":[{\"$ref\":\"1\"}],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null},{\"$id\":\"22\",\"Id\":\"aeaae08 2-0fe4-4b98-b4da-ffba8b430e11\",\"Name\":\"My Test Company4\",\"LoweredName\":null,\"Connections\":[],\"UsersInRoles\":[],\"Subscriptions\":[],\"Applications\":[],\"Users\":[{\"$ref\":\"1\"}],\"RequestLogs\":[],\"ResourcePermissions\":[],\"ApplicationsSettings\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"EntityKey\":null}],\"ApplicationsSettings\":[{\"$id\":\"23\",\"Id\":\"00000000-0000-0000-0000-000000000000\",\"InheritSettingsId\":null,\"UserId\":null,\"ApplicationId\":\"700d72d5-946e-4fb0-aff2-75c4f61fd2c9\",\"DefaultUrl\":\"/Dashboards/Sales\",\"DockItems\":null,\"LastLoginContext\":null,\"CompanyRole\":null,\"Language\":\"en-NZ\",\"LanguageVariant\":null,\"OrganisationId\":null,\"Application\":null,\"ApplicationReference\":{\"EntityKey\":null},\"DerivedSettings\":[],\"BaseSettings\":null,\"BaseSettingsReference\":{\"EntityKey\":null},\"User\":{\"$ref\":\"1\"},\"UserReference\":{\"EntityKey\":null},\"Organisation\":null,\"OrganisationReference\":{\"EntityKey\":null},\"EntityKey\":null},{\"$id\":\"24\",\"Id\":\"00000000-0000-0000-0000-000000000000\",\"InheritSettingsId\":null,\"UserId\":null,\"ApplicationId\":\"06503493-67d9-4ccb-aa48-9c06649c5085\",\"DefaultUrl\":\"/\",\"DockItems\":null,\"LastLoginContext\":null,\"CompanyRole\":null,\"Language\":null,\"LanguageVariant\":null,\"OrganisationId\":null,\"Application\":null,\"ApplicationReference\":{\"EntityKey\":null},\"DerivedSettings\":[],\"BaseSettings\":null,\"BaseSettingsReference\":{\"EntityKey\":null},\"User\":{\"$ref\":\"1\"},\"UserReference\":{\"EntityKey\":null},\"Organisation\":null,\"OrganisationReference\":{\"EntityKey\":null},\"EntityKey\":null}],\"UsersSettings\":[],\"RequestLogs\":[],\"ResourcePermissions\":[],\"AuditLogEntries\":[],\"UserFacets\":[],\"ApiKey\":null,\"ApiUserCreatedByUser\":null,\"EntityKey\":null}"); User user = null; var startedAt = DateTime.Now; for (var i = 0; i < 100; i++) { bytes = serializer.Serialize(userObject); user = serializer.Deserialize(bytes, typeof(User)) as User; } var endedAt = DateTime.Now; var timeTaken = (endedAt - startedAt).Milliseconds / 100.0; Assert.IsNotNull(user); Assert.AreEqual("*****@*****.**", user.UserName); Assert.AreEqual("Vinsight", user.FirstName); Trace.WriteLine(name + ": " + timeTaken + " ms, " + bytes.Length + " bytes"); }
public SendMessageResultParser(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _dateTimeSerializer = serializerResolver.Get("DateTime"); }
private Serializer(IValueSerializer valueSerializer) { if (valueSerializer == null) { throw new ArgumentNullException("valueSerializer"); } this.valueSerializer = valueSerializer; }
public OnUserIsTypingResultParser(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _iDSerializer = serializerResolver.Get("ID"); }
static IValueSerializer NotInvalid(IValueSerializer vs) { if (vs == ValueSerializer.Invalid) { return(null); } return(vs); }
public RegisterStudentResultParser(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _uuidSerializer = serializerResolver.Get("Uuid"); }
public CompressedValueSerializer(IValueSerializer serializer) { if (serializer == null) throw new ArgumentNullException("serializer"); _serializer = serializer; _redisConfig = RedisSessionStateConfiguration.GetConfiguration(); }
public Int64CacheProxy(object any, ICacheProviderFactory cpf, IDistributedLockFactory factory, IKeyFormatter formatter, IValueSerializer serializer, RecyclableMemoryStreamManager manager, IOptionsMonitor <CacheOptions> options) : base(any) =>
public UserEditResultParser(IValueSerializerResolver serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _booleanSerializer = serializerResolver.GetValueSerializer("Boolean"); }
public SignUpResultParser(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _stringSerializer = serializerResolver.Get("String"); }
public DeleteProductMutationResultParser(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _booleanSerializer = serializerResolver.Get("Boolean"); }
public OnNewReviewResultParser(IValueSerializerResolver serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _intSerializer = serializerResolver.GetValueSerializer("Int"); }
public CreateReviewResultParser(IValueSerializerResolver serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _stringSerializer = serializerResolver.GetValueSerializer("String"); }
public GetCountResultParser(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _intSerializer = serializerResolver.Get("Int"); }
public void Initialize(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _stringSerializer = serializerResolver.Get("String"); _needsInitialization = false; }
/// <summary> /// Initializes a new instance of the <see cref="ValueTypeSurrogateCodec{TField, TSurrogate, TConverter}"/> class. /// </summary> /// <param name="surrogateSerializer">The surrogate serializer.</param> /// <param name="surrogateCopier">The surrogate copier.</param> /// <param name="converter">The surrogate converter.</param> public ValueTypeSurrogateCodec( IValueSerializer <TSurrogate> surrogateSerializer, IDeepCopier <TSurrogate> surrogateCopier, TConverter converter) { _surrogateSerializer = surrogateSerializer; _surrogateCopier = surrogateCopier; _converter = converter; }
public FarmListResultParser(IValueSerializerResolver serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _iDSerializer = serializerResolver.GetValueSerializer("ID"); _stringSerializer = serializerResolver.GetValueSerializer("String"); }
public GetCategoriesResultParser(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _uuidSerializer = serializerResolver.Get("Uuid"); _stringSerializer = serializerResolver.Get("String"); }
public GetPersonsResultParser(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _stringSerializer = serializerResolver.Get("String"); _dateTimeSerializer = serializerResolver.Get("DateTime"); }
/// <remarks> /// This constructor is private to discourage its use. /// To invoke it, call the <see cref="FromValueSerializer"/> method. /// </remarks> private Serializer(IValueSerializer valueSerializer) { if (valueSerializer == null) { throw new ArgumentNullException("valueSerializer"); } this.valueSerializer = valueSerializer; }
public RedisSessionItemHash(string sessionId, int timeoutMinutes, RedisConnection redisConnection, IValueSerializer serializer) : base() { this.sessionId = sessionId; this.timeoutMinutes = timeoutMinutes; this.redis = redisConnection; this.serializer = serializer; SetTasks = new List<Task>(); }
public GetAllPersonsResultParser(IValueSerializerCollection serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _stringSerializer = serializerResolver.Get("String"); _booleanSerializer = serializerResolver.Get("Boolean"); }
public GetHeroResultParser(IValueSerializerResolver serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _stringSerializer = serializerResolver.GetValueSerializer("String"); _floatSerializer = serializerResolver.GetValueSerializer("Float"); }
public static IOperationClientBuilder AddValueSerializer( this IOperationClientBuilder builder, Func <IValueSerializer> factory) => builder.ConfigureClient(o => o.ValueSerializers.Add(serializers => { IValueSerializer serializer = factory(); serializers[serializer.Name] = serializer; }));
public GetCustomerResultParser(IValueSerializerResolver serializerResolver) { if (serializerResolver is null) { throw new ArgumentNullException(nameof(serializerResolver)); } _intSerializer = serializerResolver.GetValueSerializer("Int"); _stringSerializer = serializerResolver.GetValueSerializer("String"); }
/// <summary> /// Creates a new <see cref="Serializer" /> that uses the specified <see cref="IValueSerializer" />. /// This method is available for advanced scenarios. The preferred way to customize the bahavior of the /// deserializer is to use <see cref="SerializerBuilder" />. /// </summary> public static Serializer FromValueSerializer(IValueSerializer valueSerializer) { return new Serializer(valueSerializer); }
public DataRecordToPropertyMapper(int index, PropertySetter setter, IValueSerializer serializer = null) { _index = index; _setter = setter; _serializer = serializer; }