1

Nous passons à un environnement avec plusieurs moteurs de SQL Server fonctionnant sur le même serveur (un moteur de test et un moteur de production). Nous avons également des serveurs Web de test et de production distincts, et souhaitons que nos applications asp.net utilisent "magiquement" le moteur de base de données de test sur le serveur Web de test et le moteur de base de données de production sur les serveurs Web de production. Nous aimerions stocker les chaînes de connexion dans machine.config plutôt que dans web.config, mais lorsque nous le mettons dans machine.config, l'IDE de Visual Studio (en particulier avec les ensembles de données) ne reconnaît pas que la machine.config contient la connexion.Comment est-ce que je stocke efficacement une chaîne de connexion dans machine.config seulement?

Est-ce que quelqu'un sait d'une solution pour afficher ces chaînes de connexion machine.config dans Visual Studio, ou d'une solution différente qui permettrait pour cela?

Merci.

+0

Quelle version de Visual Studio utilisez-vous? – Jacob

+0

2008 actuellement. Nous passerons à 2010 une fois la migration vers notre nouvel environnement MS SQL 2008 R2 terminée. –

Répondre

2

(Remarque: Je n'ai jamais essayé ou testé cela, mais je crois que cela fonctionnera.) Informez-moi si c'est le cas.) Vous pouvez ajouter vos chaînes de connexion à la machine.config, puis ajouter un fichier connectionstring.config à votre projet au niveau racine. Dans les propriétés de ce fichier choisissent de ne pas déployer

Le contenu du fichier connectionstring.config:

<?xml version="1.0"?> 
    <connectionStrings> 
    <add name="someName" connectionString="yourString" /> 
    <add name="someName2" connectionString="yourString2" /> 
    <add name="someName3" connectionString="yourString3" /> 
    <connectionStrings> 

enfin dans votre web.config pour votre projet modifier la section connectionstring comme celui-ci

<connectionStrings file="connectionstring.config"> 
</connectionStrings> 

Fondamentalement, ce que vous faites est de configurer l'environnement de développement pour lire vos chaînes de connexion à partir d'un fichier spécifique. Lorsqu'il est déployé sur un serveur de test ou de production, le fichier connectionstring.config ne sera pas présent; par conséquent, il doit revenir à l'utilisation des chaînes de connexion spécifiées dans la configuration de la machine.

+0

En fait, l'attribut 'file =' ** only ** existe dans la section ''. Cependant, vous pouvez utiliser 'configSource =' dans la section '' –

+0

Bien que ce ne soit pas * tout à fait * la solution que je veux vraiment, cela pourrait être aussi proche que possible. Je vais l'essayer. –

+0

Je reçois une erreur lorsque le fichier connectionStrings.config n'est pas présent: "Impossible d'ouvrir le fichier configSource 'connectionStrings.config'." –

Questions connexes