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对目录有完全的读写权限。
有人能帮我吗?
这篇msdn文章似乎认为您需要定义一个空字符串来打开默认配置项。
http://msdn.microsoft.com/en-us/library/ms151456.aspx如果你这样做:
Configuration config = WebConfigurationManager.OpenWebConfiguration(null);
这应该允许您打开配置进行读写,但是正如其他人所说,这不是存储此类信息的最佳位置
检查配置文件是否设置为只读?
PS -如果你在web配置中存储临时信息,可能是你的设计有问题。
web.config
不能从ASP中编辑。网络应用程序。
如果你真的需要允许修改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");