/// <summary> /// Required constructor. Takes given name and ringConfig. /// </summary> public DataContractPersistentJsonDotNetTextFileRingStorageAdapter(string name, PersistentObjectFileRingConfig ringConfig) : base(name, ringConfig) { JsonSerializerSettings jss = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto, TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple, ObjectCreationHandling = ObjectCreationHandling.Replace, // Otherwise ValueContainerEnvelope properties do not get re-assigned correctly during deserialization. Formatting = Formatting.Indented, }; js = JsonSerializer.CreateDefault(jss); }
/// <summary> /// Constructor: Accepts provider name, filePath to ini file to read/write, keyPrefix to prefix on all contained keys, /// and isReadWrite to indicate if the INI file is writable or not (ie if all of the keys should be IsFixed). /// </summary> public PersistentJsonDotNetTextFileRingProvider(string name, PersistentObjectFileRingConfig ringConfig, string keyPrefix = "", bool isReadWrite = true, INamedValueSet providerMetaData = null, bool sortKeysOnSave = false) : base(name, ringConfig, new DataContractPersistentJsonDotNetTextFileRingStorageAdapter <ConfigKeyStore>(name, ringConfig) { Object = new ConfigKeyStore() }, keyPrefix: keyPrefix, isReadWrite: isReadWrite, providerMetaData: providerMetaData, keysMayBeAddedUsingEnsureExistsOption: isReadWrite, sortKeysOnSave: sortKeysOnSave) { }