2009-12-30 3 views
2

J'ai récemment décidé de déplacer mes chaînes de connexion à machine.config car cela semble être de loin l'approche la plus élégante pour gérer plusieurs environnements. Cependant, j'aimerais toujours pouvoir remplacer ces paramètres dans mon web.config local si le besoin s'en fait sentir (ou que les masses non éclairées commencent à se plaindre).Remplacer machine.config avec web.config

Comment puis-je remplacer les paramètres de machine.config dans mon fichier web.config sans obtenir un ConfigurationErrorsException car la valeur a déjà été définie?

Répondre

5

Si vous essayez d'ajouter une autre chaîne de connexion en utilisant le fichier web.config local qui a le même nom que celui que vous avez ajouté dans machine.config, vous devrez d'abord le supprimer. L'élément connectionStrings fonctionne comme un dictionnaire, vous pouvez ajouter un marqueur remove ou clear avant d'ajouter la chaîne de remplacement. Jetez un oeil à this pour plus de détails.

+0

Ok, merci pour moi. Fondamentalement, ils sont fusionnés en une configuration globale à l'application, donc ce que j'essayais de faire n'est en réalité pas possible. –

+0

Si ce que vous essayiez de faire n'est pas possible, alors je dois avoir mal compris la question. Si la mémoire est présente, SQL Server Express crée une chaîne de connexion dans machine.config appelée "Local Server" ou quelque chose, qui est ensuite disponible pour chaque application car, comme vous l'avez dit, les configs apparaissent fusionnées lors de l'exécution. Pour remplacer la chaîne de connexion SQL, vous pouvez ajouter une balise à votre fichier web.config suivi de avec la nouvelle configuration. – Rory

+0

Oui j'ai mal compris. Cela aide quand vous lisez les docs;) Je comprends maintenant. Merci, c'est parfait. –

Questions connexes