Gestion d'une chaîne de connexion de débogage et de libération
Ce qui est une bonne approche de la gestion d'un debug et release chaîne de connexion dans une .NET /sql server application?
J'ai deux Serveurs SQL, une production et un build/debug et j'ai besoin d'une méthode de commutation entre les deux quand mon ASP.NET l'application est déployée.
Actuellement j'ai tout simplement les stocker dans le web.config et commenter l'un ou l'autre, mais qui est source d'erreurs lors du déploiement.
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Créer un Debug et Release version du Web.fichier de configuration, par exemple Web.debug.config et Web.la libération.config. Ajoutez ensuite un pré-compiler condition que les copies de la version pertinente sur le web.config basée sur la Cible actuelle.
Edit: Pour ajouter le pré compiler condition clic droit sur votre projet et sélectionnez "Propriétés", puis allez dans le "Construire des Événements" et l'onglet ajouter le code ci-dessous pour les précompiler condition. Évidemment, vous aurez à ammend le code à vos besoins, voir image ci-dessous.
Les Propriétés du projet http://img442.imageshack.us/img442/1843/propsa.jpg
La bonne nouvelle est que .NET4 a une disposition pour cela, vous pouvez séparer les configs pour chaque Configuration (web.La libération.config, web.Debug.config).
La mauvaise nouvelle est que ... vous n'êtes probablement pas en utilisant encore.
Utiliser les directives du préprocesseur: lorsque votre projet est configuré pour s'exécuter en mode de débogage, le débogage de chaîne de connexion sera choisi, sinon la sortie de la chaîne de connexion sera choisi automatiquement.
Dans Visual studio, vous remarquerez que les déclarations sont grisés exclusivement en fonction de la configuration du projet (debug ou release).
Juste ajouter quelque chose comme ce qui suit dans votre code:
pour plus de détails,consultez cette.
J'ai l'habitude de définir une variable d'Environnement sur mes serveurs de production qui indique que le serveur est un serveur de production. J'ai ensuite lu la bonne chaîne de connexion à partir de mon site web.config basé sur si cette variable d'Environnement existe et est fixé à la valeur de la production.
- Je utiliser une combinaison de Sameh et Obalix de la méthode dans .net 3.5.
Puis dans mon projet, propriétés, définir les symboles de compilation conditionnelle. De cette façon, je n'ai pas à garder mon chaînes de connexion codée en dur comme Sameh, mais le code ne regarde que pour la chaîne basé sur la façon dont il a été construit. Cela me permet d'avoir (si j'en ai besoin) un fichier de configuration pour toutes les versions, mais en réalité, je n'ai pas de déployer des fichiers de config dans mon processus de création. Bien que la condition d'application.Relase.config trucs pour .net 4 ressemble à de la bonne façon d'aller dans le futur.
Bien c'est peut-être un peu dépassée, mais la DSN ODBC résout ce problème bien -- j'ai toujours l'utiliser -- avec rigueur -- les paramètres DNS de différencier entre la production et le débogage des environnements.
p.s., Je m'attends à ce que les charges de la voix, peut-être que ce sera une jauge de ce que les gens pensent d'un niveau d'indirection pour les identificateurs de base de données.
Je peux dire d'autre solution pour ce problème. Dans le fichier csproj fichier créer suivre:
En xml écrit ensemble les deux version release et debug.
À partir de 2018, pour les nouvelles versions de Visual Studio, Microsoft a pris le dessus sur la SlowCheetah extension. L'installation de ce sera vous donner une option pour diviser l'application.fichier de configuration en trois fichiers distincts. L'un est un fichier de base qui a du code qui s'applique toujours, et puis, vous obtenez une application.debug.le fichier de configuration et l'application.la libération.fichier de configuration.
Noter que tirer ce qu'un package NuGet dans le projet n'est pas suffisant. Si vous souhaitez que l'INTERFACE utilisateur de Visual Studio option de menu, vous devez d'abord télécharger le programme d'installation depuis le site ci-dessous et de l'exécuter. Ensuite, installez SlowCheetah spécifiquement sur des projets que vous souhaitez utiliser à l'aide de NuGet.
Également noter que l'original SlowCheetah programme par le développeur d'origine existe toujours, mais l'utilisation de celui publié par Microsoft pour les nouvelles versions de Visual Studio.
https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.SlowCheetah-XMLTransforms