gpt4 book ai didi

c# - 如何动态更改为 web.config 中的连接字符串

转载 作者:太空狗 更新时间:2023-10-29 22:20:13 24 4
gpt4 key购买 nike

我在 web.config 中定义连接字符串

     <ConnectionStrings>
<add name="student" connectionString="Server=student;Max Pool Size=300;Initial Catalog=studentDB;User ID=student;Password=st123dent;" providerName="System.Data.SqlClient"/>
</Connectionstrings>

如何在 C# 中动态更改连接字符串

最佳答案

配置是只读的,所以你不能像

ConfigurationManager.ConnectionStrings["student"].ConnectionString = "new value";

这引发了 System.Configuration.ConfigurationErrorsException异常说“配置是只读的”。

这是一个使用反射来重置配置元素的 readOnly 属性的技巧。有关详细信息,请参阅本文 Programmatically setting a connectionString property

代码片段:

var settings = ConfigurationManager.ConnectionStrings[ 0 ];
var fi = typeof(ConfigurationElement).GetField(
"_bReadOnly",
BindingFlags.Instance | BindingFlags.NonPublic);
fi.SetValue(settings, false);
settings.ConnectionString = "Data Source=Something";

顺便说一句,为什么你需要改变它的配置?我觉得您正在尝试以错误的方式解决某些问题。

关于c# - 如何动态更改为 web.config 中的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7692675/

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