Me gustaría modificar programáticamente la cadena de conexión para una base de datos que utiliza el proveedor de membresía de asp.net dentro de una aplicación de Windows. El espacio de nombres de configuración del sistema permite cambios en la configuración del usuario, sin embargo, nos gustaría ajustar la configuración de la aplicación. ¿Es necesario escribir una clase con XML para modificar la clase? ¿Es necesario eliminar las conexiones actuales (puede uno seleccionar una conexión para borrarlas) y agregar una nueva? ¿Se puede ajustar la cadena de conexión existente?VS2005 C# Cambiar programáticamente cadena de conexión contenida en app.config
Respuesta
Puede abrir mediante programación la configuración con el uso del espacio de nombres System.Configuration:
Configuration myConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
A continuación, puede acceder a la colección de cadenas de conexión en:
myConfig.ConnectionStrings.ConnectionStrings
Puede modificar el colección como desee, y cuando termine llame al .Save()
en el objeto de configuración.
Use la clase ConnectionStringsSection. La documentación incluso proporciona un ejemplo sobre cómo crear un ConnectionString nuevo y hacer que el marco lo guarde en el archivo de configuración sin tener que implementar todo el shebang XML.
Consulte here y busque un ejemplo.
// 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);
Tuvimos que hacer esto exactamente. Este es el código que funcionó para mí:
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. App.config cadena de conexión ruta relativa
- 2. cadena de conexión en app.config en una biblioteca de clases
- 3. Conexión de conexión de punto en dbml a app.config
- 4. Cómo modificar programáticamente assemblyBinding en app.config?
- 5. Cambiar app.config en el momento de la instalación
- 6. Accediendo a la cadena de conexión de la base de datos usando app.config en C# winform
- 7. Cambiar la configuración de SQL Server programáticamente
- 8. cómo leer la cadena de conexión del archivo App.config por C#
- 9. Cambiar un programa web.config programáticamente con C# (.NET)
- 10. EF 5 Cambiar cadena de conexión en tiempo de ejecución
- 11. Conexión WiFi Android programáticamente
- 12. Cifrar contraseña en App.config
- 13. C# app.config en winform
- 14. cadena de conexión EDMX
- 15. cambiar el nombre de db en cadena de conexión en tiempo de ejecución en Entity Framework
- 16. Cambiar el tamaño de la ventana wpf programáticamente en C#
- 17. cadena de conexión sql problema
- 18. Cómo cambiar la ubicación de app.config
- 19. Cambiar la cadena de conexión predeterminada para Membresía, Roles, etc.
- 20. Cómo escribir una cadena URI en App.Config
- 21. escape y en App.config
- 22. Cómo obtener la base de datos de Mongo especificada en la cadena de conexión en C#
- 23. C# en VS2005: ¿cuál es la mejor manera de verificar si una cadena está vacía?
- 24. Para desarrolladores de C++, ¿vale la pena cambiar de VS2005 a VS2008?
- 25. Impactos de web.config y app.config changes
- 26. Cambiar UIButton tipo programáticamente
- 27. cambiar una caracter en una cadena c
- 28. Cambiar fragmentos programáticamente
- 29. ConfigurationManager sigue obteniendo cadena de conexión Machine.config
- 30. Información segura contenida en iPhone SQLite DB
Esto es para agregar una cadena de conexión, no modificar una cadena existente – Thomas