/// <inheritdoc />
        public JsonCacheSerializer()
        {
            var settings = new JsonSerializerSettings
            {
                TypeNameHandling     = TypeNameHandling.Auto,
                DateTimeZoneHandling = DateTimeZoneHandling.RoundtripKind,
                Formatting           = Formatting.None,
                SerializationBinder  = _serializationBinder,
                ContractResolver     = _contractResolver
            };

            settings.Converters.Add(new ExplicitTypesConverter());
            // Setup the Hashtable serialization
            var contract = settings.ContractResolver.ResolveContract(typeof(Hashtable));

            contract.Converter = new HashtableConverter();
            contract.OnDeserializedCallbacks.Add((o, context) => HashtableConverter.OnDeserialized(o, _serializer));

            _serializer = Serializer.Create(settings);
        }
Ejemplo n.º 2
0
        protected Hashtable GetSubmitData(string button = null)
        {
            if (AlternateValues == null)
            {
                return(Values);
            }

            Hashtable serializedValues = HashtableConverter.ConvertObjectPropertiesToHashtable(AlternateValues);

            foreach (string key in serializedValues.Keys)
            {
                object value = serializedValues[key];
                if (value != null)
                {
                    Values[key] = value;
                }
            }

            AssignSubmitButton(button);

            return(Values);
        }