我尝试使用以下方法在运行时在app.config
基于每个用户保存连接字符串:
public void saveConnectionString(string serverName, string conn)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
var connectionString = config.ConnectionStrings.ConnectionStrings[serverName];
config.ConnectionStrings.SectionInformation.AllowExeDefinition = ConfigurationAllowExeDefinition.MachineToLocalUser;
if (connectionString == null)
{
config.ConnectionStrings.ConnectionStrings.Add(new ConnectionStringSettings
{
Name = serverName,
ConnectionString = conn,
ProviderName = "System.Data.SqlClient"
});
config.Save(ConfigurationSaveMode.Modified);
}
else
{
connectionString.ConnectionString = conn;
}
}
我得到了例外:
锁定时无法编辑ConfigurationSection属性。
当我尝试获取ConfigurationAllowExeDefinition
时。有没有办法解决这个问题?我需要创建自己的部分吗?
答案 0 :(得分:0)
在代码 config.Save 后尝试使用以下代码: -
ConfigurationManager.RefreshSection("的ConnectionStrings&#34);
答案 1 :(得分:0)
<error-page>
<error-code>500</error-code>
<location>/error/ExceptionHandler.jsp</location>
</error-page>