使用C#(.NET)以编程方式更改web.config

Kot*_*tan 92 c# web-config

如何web.config使用C#以编程方式修改/操作?我可以使用配置对象,如果是,我如何加载web.config到配置对象中?我想有一个完整的例子来改变连接字符串.修改后web.config应该写回硬盘.

Ale*_* LE 114

这是一些代码:

var configuration = WebConfigurationManager.OpenWebConfiguration("~");
var section = (ConnectionStringsSection)configuration.GetSection("connectionStrings");
section.ConnectionStrings["MyConnectionString"].ConnectionString = "Data Source=...";
configuration.Save();
Run Code Online (Sandbox Code Playgroud)

查看本文中的更多示例,您可能需要查看模拟.

  • 已经过去很长一段时间了,但是这个修改是否使应用程序池回收? (2认同)

ASe*_*gan 12

Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
ConnectionStringsSection section = config.GetSection("connectionStrings") as ConnectionStringsSection;
//section.SectionInformation.UnprotectSection();
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
config.Save();
Run Code Online (Sandbox Code Playgroud)


sha*_*esh 5

由于web.config文件是xml文件,因此您可以使用xmldocument类打开web.config.从该xml文件中获取要更新的节点,然后保存xml文件.

这里是URL,更详细地解释了如何以编程方式更新web.config文件.

http://patelshailesh.com/index.php/update-web-config-programmatically

注意:如果对web.config进行任何更改,ASP.NET会检测到更改并重新加载您的应用程序(回收应用程序池),其效果是会话,应用程序和缓存中保留的数据将丢失(假设会话状态)是InProc,不使用状态服务器或数据库).