Ejemplo n.º 1
0
        public ContractTypeSerializer(SerializationTypeRegistry typeRegistry, ContractTypeSerializerOptions options)
        {
            Check.NotNull(typeRegistry, nameof(typeRegistry));
            Check.NotNull(options, nameof(options));

            JsonSerializerSettings s = options.CloneJsonSettings();

            s.TypeNameHandling      = TypeNameHandling.None;
            s.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;
            s.ContractResolver      = new ContractTypeContractResolver(typeRegistry);

            options.Serializers.ConfigureJsonSettings(s);

            _serializer = JsonSerializer.Create(s);
        }
Ejemplo n.º 2
0
        public SerializerManager(IEnumerable <IConfigureSerializers> setups, SerializationTypeRegistry types)
        {
            Check.NotNull(setups, nameof(setups));
            Check.NotNull(types, nameof(types));
            _setups = setups.ToList();

            ContractTypeSerializerOptions contractOptions = new ContractTypeSerializerOptions(
                Serializers,
                new JsonSerializerSettings());

            foreach (IConfigureSerializers setup in setups)
            {
                setup.ConfigureSerializers(Serializers);
                setup.ConfigureContractTypeSerializer(contractOptions.JsonSettings);
            }

            ContractTypeSerializer = new ContractTypeSerializer(types, contractOptions);
        }