Dans mon organisation, nous avons plusieurs environnements (Dev, QA, Stage, Prod, Disaster Recovery) et je voudrais que mes fichiers app/web.config ne contiennent aucun détail spécifique à l'environnement dans les URI, les connexions chaînes, etc. Mon approche préférée serait d'effectuer une substitution au moment de l'exécution, par exemple Au lieu de cela:Fichiers de configuration contenant des paramètres spécifiques à l'environnement
<endpoint address="http://MyDevWebServer/SomeService" binding="basicHttpBinding"...
Je préférerais avoir quelque chose comme ceci: lire des classes je contrôle
<endpoint address="http://{Env:WebServerName}/SomeService" binding="basicHttpBinding"...
est simple pour les paramètres de configuration sur (juste fournir une wrapper qui exécute des substituts {Env: WebServerName} avec le nom de serveur réel pour cet environnement) mais je souhaite également que cette substitution ait lieu lorsque des paramètres sont lus à partir de classes sur lesquelles je n'ai aucun contrôle (par exemple WCF, NHibernate etc.). Est-ce que quelqu'un sait d'une manière d'injecter ce genre de logique de substitution. Je suppose qu'une approche AOP pourrait être possible, mais je n'ai pas personnellement beaucoup d'expérience avec les frameworks AOP.