gpt4 book ai didi

c# - 在 C# 中以编程方式更新连接字符串后重新加载 web.config

转载 作者:行者123 更新时间:2023-11-30 21:57:47 25 4
gpt4 key购买 nike

我在运行时在 web.config 中创建了 Connectionstring。现在我正在将一些数据保存到我的数据库中,但它仍在读取旧的连接字符串。我该如何解决这个问题?下面是我的代码:

public string EditConnectionString(string userId, string password, string host, string dbName)
{
try
{
System.Configuration.Configuration Config = WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection conSetting = (ConnectionStringsSection)Config.GetSection("connectionStrings");
string providerName = "System.Data.EntityClient";
string conString = @"metadata=res://*/OWordpress.csdl|res://*/OWordpress.ssdl|res://*/OWordpress.msl;provider=System.Data.SqlClient;provider connection string=" + "\"data source=" + host + ";initial catalog=" + dbName + ";user id=" + userId + ";password=" + password + ";MultipleActiveResultSets=True;App=EntityFramework\"";
ConnectionStringSettings StringSettings = new ConnectionStringSettings("OWordpressContainer", conString,providerName);
conSetting.ConnectionStrings.Remove(StringSettings);
conSetting.ConnectionStrings.Add(StringSettings);
Config.Save(ConfigurationSaveMode.Modified);

return MessageFamily.Success.ToString();
}
catch(Exception ex)
{
return ex.Message.ToString();
}
}

创建 Connectionstring 后,我保存了一些数据如下,但它仍然读取旧的 connectionstring 值:

public string SaveDbInfo(string userId, string password, string host, string dbName)
{
try
{
var optionEntity = new Options();

optionEntity.key = "DBInfo";
optionEntity.value = "{userId:'" + userId + "',password:'" + password + "',host:'"+host+"',dbName:'"+dbName+"'}";

objContext.Options.Add(optionEntity);
objContext.SaveChanges();
return MessageFamily.Success.ToString();
}
catch(Exception ex)
{
return ex.Message.ToString();

}
}

最佳答案

在更改连接字符串后尝试以下代码,让我知道它是否有帮助-

ConfigurationManager.RefreshSection("connectionStrings");

关于c# - 在 C# 中以编程方式更新连接字符串后重新加载 web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30502764/

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