是否可以在运行时更改web.config的内容?
答案 0 :(得分:1)
是的,是的。
安全的方法是写信至appSettings
:Writing to Your .NET Application's Config File
但你可以also hack it(不要这样做)。
答案 1 :(得分:0)
我已尝试使用以下代码在运行时更新web.config文件。
让我们说web.config有一个像这样的键
<connectionStrings>
<add name="conkey" connectionString="old value" />
</connectionStrings>
这是更新web.config文件的C#代码。
string path = Server.MapPath("Web.config");
string newConnectionString = "updated value"; // Updated Value
XmlDocument xDoc = new XmlDocument();
xDoc.Load(path);
XmlNodeList nodeList = xDoc.GetElementsByTagName("connectionStrings");
XmlNodeList nodeconnectionStrings = nodeList[0].ChildNodes;
XmlAttributeCollection xmlAttCollection = nodeconnectionStrings[0].Attributes;
xmlAttCollection[1].InnerXml = newConnectionString; // for value attribute
xDoc.Save(path); // saves the web.config file
这段代码对我有用。但是建议不要这样做。
答案 2 :(得分:0)
使用WebConfigurationManager类的另一种方法。
Configuration cfg = WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringSettings consettings = cfg.ConnectionStrings.ConnectionStrings["conkey"];
consettings.ConnectionString = "updated value";
cfg.Save();