0
votes

Utilisation de différentes chaînes de connexion dans le développement local

J'ai un projet Umbraco avec plusieurs développeurs qui y travaillent, chaque développeur a une chaîne de connexion différente pour sa base de données locale. Le processus actuel consiste à changer la chaîne de connexion dans la configuration Web localement, ce qui fonctionne jusqu'au prochain git push / gitpull lorsqu'il est remplacé et nous devons inverser manuellement la chaîne de connexion .

J'ai vu un plugin appelé SlowCheetah qui permet des transformations de configuration Web locale mais j'ai eu des résultats très mitigés avec lui, donc je recherche idéalement quelque chose de plus robuste.

Comment ce problème est-il normalement résolu?


0 commentaires

3 Réponses :


0
votes

Ayez une chaîne de connexion comme celle-ci: DefaultConnection ":" Data Source =. \\; Initial Catalog = database; Integrated Security = True; Persist Security Info = False; MultipleActiveResultSets = true " Il utilise l'authentification par fenêtre pour accéder à la base de données.


0 commentaires

0
votes

Vous pouvez utiliser un ConfigurationBuilder , introduit dans .NET Framework 4.7.1, pour prétraiter la section XML de configuration / correspondant à votre configuration avant qu'elle ne soit utilisée par un autre code. Vous pouvez utiliser des variables d'environnement telles que les noms de machine ou les noms d'utilisateur pour modifier la section des chaînes de connexion ou la section appSettings.

J'ai un article de blog qui détaille l'implémentation de la configuration de chargement à partir de différents fichiers json en fonction d'une variable d'environnement ASPNET_Environment , mais vous pouvez probablement effectuer un changement plus ciblé avec moins de code.


0 commentaires

0
votes

J'ai trouvé ce que je pense être une solution de contournement assez simple pour cela en utilisant l'attribut configSource . Nous conservons maintenant les chaînes de connexion dans un fichier externe connections.txt qui est simplement ignoré dans git et référencé dans le fichier de configuration Web.

Dans la configuration Web:

<connectionStrings>
    <add name="CONNECTIONNAME" connectionString="CONNECTIONSTRING" providerName="PROVIDERNAME" />
</connectionStrings>

Et le fichier texte:

<connectionStrings configSource="connections.config"/>


0 commentaires