如何更新web.config文件[asp.net]中的设置?
如何在ASP.Net中更新如何更新web.config文件[asp.net]中的设置?,asp.net,configuration,Asp.net,Configuration,如何在ASP.Net中更新web.config文件中的设置 <appSettings> <add key="DataSource" value="localhost\SQLEXPRESS,1433"> <add key="InitialCatalog" value="CenTimetracker" /> <add key="user" value="uzer" /><add key="password" value="pazz"
web.config
文件中的设置
<appSettings>
<add key="DataSource" value="localhost\SQLEXPRESS,1433">
<add key="InitialCatalog" value="CenTimetracker" />
<add key="user" value="uzer" /><add key="password" value="pazz" />
<add key="IntegratedSecurity" value="True" />
<add key="configured" value="False" />
</appSettings>
如何将文本框中的值分配给web.config文件?我使用了下面的代码,但它没有保存配置文件
ConfigurationManager.AppSettings["DataSource"] = TextDataSource.Text;
希望有帮助。@KeizerßloodŚucker:您可以按如下方式更改应用程序设置值:
Configuration myConfiguration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("path of webconfig file");
myConfiguration.ConnectionStrings.ConnectionStrings["myDatabaseName"].ConnectionString = txtConnectionString.Text;
myConfiguration.AppSettings.Settings.Add("key","value");
myConfiguration.Save();
除了使用configuration.Save()保存配置外,还需要监视保存文件的文件权限。您需要查看哪个帐户用于运行应用程序,然后将该帐户的“修改/写入”权限添加到web.config。如果您允许匿名访问,则通常需要设置iusr_u[server]的权限。在IIS中查找这些信息。您也可以在尝试使用此值的同一页面上加载不同的值。 我在调试模式下使用类似的东西。 我之所以选择此选项,是因为上面的方法会删除与应用程序设置相关的任何注释
public string _path;
public string Path
{
get
{
if(_path == null || _path == "")
{
if (System.Diagnostics.Debugger.IsAttached)
{
_path = "localhost\SQLEXPRESS,1433";
}
else
{
_path = ConfigurationManager.AppSettings["DataSource"];
}
return _path;
}
return _path;
}
}
我甚至尝试过它,但它再次生成了一个异常,即“加载配置文件时出错:未能映射路径“/”。执行.OpenWebConfiguration(“~”)??@KeizerßloodŚucker时,是否需要定义web.config的位置,如果您的web.config位于根目录中,则此代码必须工作。我使用它在我的项目中没有任何问题。您的配置文件保存在哪里?web.config位于默认位置,如以下屏幕截图所示:S@KeizerßloodŚucker,我相信我为您找到了解决方案。尝试使用管理员权限运行VS。请让我知道它是否对您有帮助。非常感谢它在visual studio中运行良好:)但是,一旦我在IIS服务器中托管了该站点,它会说“加载配置文件时出错:对路径“c:inetpub\wwwroot\CenTrackerWebService\u joekcit.tmp”的访问被拒绝(c:inetpub\wwwroot\CenTrackerWebService\web.config)我还更改了web.config的访问权限
Configuration myConfiguration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("path of webconfig file");
myConfiguration.ConnectionStrings.ConnectionStrings["myDatabaseName"].ConnectionString = txtConnectionString.Text;
myConfiguration.AppSettings.Settings.Add("key","value");
myConfiguration.Save();
public string _path;
public string Path
{
get
{
if(_path == null || _path == "")
{
if (System.Diagnostics.Debugger.IsAttached)
{
_path = "localhost\SQLEXPRESS,1433";
}
else
{
_path = ConfigurationManager.AppSettings["DataSource"];
}
return _path;
}
return _path;
}
}