c#编辑和更新网页.从ASPX页面获取配置文件

本文关键字:获取 配置文件 ASPX 编辑 更新 网页 | 更新日期: 2023-09-27 18:08:39

我的网页中有两个键。我需要在ASPX页面中编辑可用的配置,关键是…

<add key="atlasuser" value="username" />
<add key="atlaspass" value="password" />

我已经在我的ASPX页面后面的代码中写了这个

Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
string u_user = txtUsername.Text;
string u_pass = txtPassword.Text;
string crmSID = Request.QueryString["SID"];
config.AppSettings.Settings["atlasuser"].Value = u_user;
config.AppSettings.Settings["atlaspass"].Value = u_pass;
config.Save(ConfigurationSaveMode.Full);

当我编辑字段并单击保存时,我得到一个解析错误消息,指出拒绝访问.tmp文件,并且在源错误框中没有显示相关的源行。

我正在运行windows 7,我已经检查了NETWORK SERVICE对目录有完全的读写权限。

有人能帮我吗?

c#编辑和更新网页.从ASPX页面获取配置文件

这篇msdn文章似乎认为您需要定义一个空字符串来打开默认配置项。

http://msdn.microsoft.com/en-us/library/ms151456.aspx

如果你这样做:

Configuration config = WebConfigurationManager.OpenWebConfiguration(null);

这应该允许您打开配置进行读写,但是正如其他人所说,这不是存储此类信息的最佳位置

检查配置文件是否设置为只读?

PS -如果你在web配置中存储临时信息,可能是你的设计有问题。

web.config不能从ASP中编辑。网络应用程序。

. net框架提供了用于编辑/保存应用程序配置文件中的更改的api。. NET应用程序是web.config),但在IIS的实践中,这是行不通的,因为考虑到每次web。配置被更改,IIS应用程序重新启动,因此。net不允许您保存以防止此。

如果你真的需要允许修改ASPX页面的配置,你应该保存在数据库或其他外部xml文件中,然后在需要的时候读取这些设置

可以编辑网页。配置文件本身。只需确保您运行应用程序的帐户具有适当的文件系统权限,以便能够写入应用程序目录:

void editWebConfig(string key, string newValue, string filePath)
{
    var xml = new XmlDocument();
    xml.Load(filePath);
    using(FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite))
    {
        xml.SelectSingleNode("//configuration/appSettings/add[@key = '" + key + "']").Attributes["value"].Value = newValue;
        xml.Save(fs);
    }
}

然后调用

editWebConfig("atlasuser", txtUsername.Text, Server.MapPath(".") + "''web.config");