我使用以下代码更改应用程序的Web配置中的appsetting键值。
private void ChanngeDefaultPassword(string password)
{
try
{
var objConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection("appSettings");
objConfig.AppSettings.Settings["DEFAULT_PASSWORD"].Value = password;
objConfig.Save();
}
catch (Exception ex)
{
}
}
我收到错误陈述
尝试执行未经授权的操作。
在保存配置更改的步骤中抛出此错误。
答案 0 :(得分:0)
我认为您可能还需要在文件AllowLocation
中设置machine.config
。这是一个布尔值,指示是否可以使用该元素配置单个页面。如果“AllowLocation”为false,则无法在单个元素中进行配置。
更改web.config文件通常会导致应用程序重新启动。
如果您确实需要自己的应用程序来编辑自己的设置,那么您应该考虑采用不同的方法,例如数据设置或使用可编辑设置创建XML文件。
有关详情,请参阅Stack Overflow问题 How do you modify the web.config appSettings at runtime? 。
答案 1 :(得分:-1)
MSDN上的这篇文章可能有您想要的答案: UnauthorizedAccessException when saving AppSettings data to a Local Intranet file share 。
答案 2 :(得分:-1)
我想在这里你不需要写AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection("appSettings");
您可以使用objConfig
直接保存设置。
试试这段代码:
private void ChanngeDefaultPassword(string password)
{
try
{
System.Configuration.Configuration objConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
objConfig.AppSettings.Settings["DEFAULT_PASSWORD"].Value = password;
objConfig.Save();
}
catch (Exception ex)
{
}
}