C'è un modo per avere sezioni di configurazione scritte in JSON anziché XML?Creazione di una sezione di configurazione JSON
Supponiamo Ho il seguente ConfigurationSection
:
public class UsersConfig : ConfigurationSection {
[ConfigurationProperty("users",
IsRequired = false)]
public UserCollection Users {
get { return this["users"] as UserCollection; }
}
}
[ConfigurationCollection(typeof(UserElement),
AddItemName = "user"]
public class UsersCollection : ConfigurationElementCollection {
protected override ConfigurationElement CreateNewElement() {
return new UserElement();
}
protected override object GetElementKey(ConfigurationElement element) {
return ((UserElement)element).Name;
}
}
public class UserElement : ConfigurationElement {
[ConfigurationProperty("name",
IsRequired = true,
IsKey = true)]
public string Name {
get { return this["name"] as string; }
set { this["name"] = value; }
}
}
posso quindi creare la seguente sezione di configurazione XML:
<users-config>
<users>
<user name="Matt458" />
<user name="JohnLennon" />
</users>
</users-config>
Quello che vorrei raggiungere è quello di mantenere stessa classe UsersConfig, ma invece di mapparlo in XML, vorrei mapparlo a un JSON:
È possibile utilizzare le funzioni 'SerializeSection' e' DeserializeSection' dalla classe 'ConfigurationSection'. È possibile utilizzare un elemento CDATA all'interno dell'elemento Users per conservare dati arbitrari e quindi leggerlo durante la serializzazione/deserializzazione personalizzata. –
Hai provato la seguente [libreria] (http://west-wind.com/westwind.applicationconfiguration/)? Dispone di 'Archiviazione di file .config, semplici file XML o JSON, stringhe o un database', quindi potrebbe valerne la pena dargli un'occhiata. –
Intendi web.config? –