Comment Lire une Section de Configuration à partir de XML dans une Base de données?

J'ai une Config de la classe comme ceci:

public class MyConfig : ConfigurationSection
{
        [ConfigurationProperty("MyProperty", IsRequired = true)]
        public string MyProperty
        {
            get { return (string)this["MyProperty"]; }
            set { this["MyProperty"] = value; }
        }
}

Et elle est instanciée par une autre classe, comme ce

(MyConfig)ConfigurationManager.GetSection("myConfig")

Nous apportons quelques modifications et sont maintenant stocker le fichier de configuration dans la base de données en xml, exactement comme il est actuellement dans le fichier de configuration.

Je tiens à maintenir la Maconfig comme un ConfigurationSection pour la compatibilité ascendante, mais encore être en mesure d'instancier à l'aide de la chaîne XML récupéré à partir de la DB.

Est-il possible? Si oui, comment? (Gardez à l'esprit qu'il doit encore travailler comme instancié ci-dessus)

  • Je voudrais amour pour voir une solution à ce - que j'ai fait des recherches pendant un certain temps, sans grand succès, malheureusement....
  • Je suis content de voir que je ne suis pas le seul.
  • Je ne sais pas la réponse à celui-ci car il semble que l'emplacement des fichiers de configuration ne peut pas être changé par le code de l'application. Mais je ne voudrais pas surcharger les fichiers de configuration pour ce scénario permettrait de créer ma propre configuration lecteur qui permettrait d'obtenir les données de la DB.
  • J'ai été envisagent sérieusement de faire ce que vous avez suggéré. J'ai pensé que j'ai demandé avant d'aller dans cette direction
  • eh bien, le principal problème est que je ne pouvais pas vraiment trouver un moyen de brancher ma propre base de données à base de config reader. L'ensemble de l' .NET configuration du système n'est malheureusement pas en fonction de fournisseur (comme beaucoup d'autres choses .NET), et de nombreuses classes sont scellés et à l'utilisation interne et les méthodes privées 🙁