gpt4 book ai didi

.net - 如何在 .net 中以编程方式设置连接字符串配置?

转载 作者:行者123 更新时间:2023-12-03 05:43:38 25 4
gpt4 key购买 nike

我想以编程方式设置连接字符串,绝对不更改任何配置文件/注册表项。

我有这段代码,但不幸的是它抛出了一个异常“配置是只读的”。

ConfigurationManager.ConnectionStrings.Clear();
string connectionString = "Server=myserver;Port=8080;Database=my_db;...";
ConnectionStringSettings connectionStringSettings =
new ConnectionStringSettings("MyConnectionStringKey", connectionString);
ConfigurationManager.ConnectionStrings.Add(connectionStringSettings);

编辑:问题是我有从配置中读取连接字符串的现有代码。因此,手动或通过资源设置配置字符串似乎不是有效的选项。我真正需要的是一种以编程方式修改配置的方法。

最佳答案

我在 post on my blog 中写过有关此内容的文章。诀窍是使用反射来插入值作为访问非公共(public)字段(和方法)的一种方式。

例如。

var settings = ConfigurationManager.ConnectionStrings[ 0 ];

var fi = typeof( ConfigurationElement ).GetField( "_bReadOnly", BindingFlags.Instance | BindingFlags.NonPublic );

fi.SetValue(settings, false);

settings.ConnectionString = "Data Source=Something";

关于.net - 如何在 .net 中以编程方式设置连接字符串配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/360024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com