Souhaitez modifier par programme la chaîne de connexion pour une base de données qui utilise le fournisseur d'appartenances de asp.net dans une application Windows. L'espace de noms system.configuration permet de modifier les paramètres utilisateur, cependant, nous aimerions ajuster un paramètre d'application? Est-il nécessaire d'écrire une classe avec XML pour modifier la classe? Faut-il supprimer les connexions actuelles (peut-on sélectionner une connexion à effacer) et en ajouter une nouvelle? Peut-on ajuster la chaîne de connexion existante?VS2005 C# Modifier par programme la chaîne de connexion contenue dans app.config
Répondre
Vous pouvez programatically ouvrir la configuration avec l'aide de l'espace de noms System.Configuration:
Configuration myConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
Ensuite, vous pouvez accéder à la collection à des chaînes de connexion:
myConfig.ConnectionStrings.ConnectionStrings
Vous pouvez modifier la la collection que vous voulez, et une fois terminé, appelez .Save()
sur l'objet de configuration.
Utilisez la classe ConnectionStringsSection. La documentation fournit même un exemple sur la façon de créer un nouveau ConnectionString et le framework l'enregistre dans le fichier de configuration sans avoir à implémenter le shebang XML entier.
Voir here et parcourir pour un exemple.
// Get the application configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Create a connection string element and
// save it to the configuration file.
// Create a connection string element.
ConnectionStringSettings csSettings =
new ConnectionStringSettings("My Connection",
"LocalSqlServer: data source=127.0.0.1;Integrated Security=SSPI;" +
"Initial Catalog=aspnetdb", "System.Data.SqlClient");
// Get the connection strings section.
ConnectionStringsSection csSection =
config.ConnectionStrings;
// Add the new element.
csSection.ConnectionStrings.Add(csSettings);
// Save the configuration file.
config.Save(ConfigurationSaveMode.Modified);
Doit faire exactement cela. C'est le code qui a fonctionné pour moi:
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
connectionStringsSection.ConnectionStrings["Blah"].ConnectionString = "Data Source=blah;Initial Catalog=blah;UID=blah;password=blah";
config.Save();
ConfigurationManager.RefreshSection("connectionStrings");
- 1. Modifier ConnectionString dans VS2005 (C#)
- 2. Modifier app.config au moment de l'installation
- 3. App.config chaîne de connexion Erreur de protection
- 4. Modifier la chaîne de connexion et recharger app.config au moment de l'exécution
- 5. appel nom de la méthode contenue dans une chaîne
- 6. Modifier la résolution de l'écran par programme?
- 7. Comment puis-je modifier une chaîne d'agent utilisateur par programme?
- 8. Comment puis-je modifier une chaîne d'agent utilisateur par programme?
- 9. Configuration par programme d'endpoints par rapport à web/app.config
- 10. C# Comment modifier le périphérique de lecture par programme
- 11. Modifier la chaîne de connexion de la bibliothèque de classes dans l'application principale au moment de l'exécution
- 12. Comment modifier la chaîne de connexion de NHibernate par requête HTTP?
- 13. Modifier dynamiquement la valeur du fichier app.config
- 14. Chargement de la DLL C# par réflexion, mais appli App.config
- 15. Comment modifier par programme le mot de passe Active Directory
- 16. Comment analyser par programme et modifier le code C#
- 17. Changement de chaîne de connexion
- 18. Comment gérer les retards sur la connexion Telnet par programme?
- 19. Modifier l'utilisateur du service Windows par programme
- 20. Problème de connexion VistaDB utilisant SQLConnection et ConnectionString par programme
- 21. Connexion par programme au Sharepoint ULS
- 22. sécurité intégrée dans la chaîne de connexion
- 23. Pouvons-nous modifier les claviers par programme?
- 24. Modifier le clavier par programme en Dvorak
- 25. Modifier la couleur d'arrière-plan UIView par programme
- 26. Comment modifier la connexion dans EclipseLink
- 27. Modification de l'élément datalist C# par programme
- 28. prenant la valeur contenue dans les supports en utilisant php
- 29. Modifier la sélection par programme sur DatagridView (.NET)
Ceci est d'ajouter une chaîne de connexion, pas modifier un existant – Thomas