是否可以通过编程方式在web.config中创建位置元素(例如,使用ConfigurationLocation)

时间:2011-06-14 16:17:59

标签: c# .net asp.net web-config

我可以访问和修改< location>的内容web.config中的标记,从:

开始
Configuration config = WebConfigurationManager.OpenWebConfiguration(virtualFolderPath); 
ConfigurationLocationCollection locations = config.Locations;

然后为每个位置:

Configuration thisConfig = location.OpenConfiguration();

但是,我看不出有任何方法可以添加新的< location>,这可能吗?

3 个答案:

答案 0 :(得分:1)

我建议您不要以编程方式执行此操作,因为无论何时在web.config中尝试add/edit值,您的应用程序都会重新启动,并且所有用户会话都将终止。 查看此文章了解详情Common reasons for the session loss issue in ASP.NET applications

答案 1 :(得分:1)

ConfigurationLocationCollection来自System.Collections. ReadOnlyCollectionBase,它是只读的。因此,使用配置API就像现在一样,这是不可能的。

答案 2 :(得分:1)

web.config是一个合法的XML文档。因此,除了其他考虑因素之外,没有什么可以阻止您加载它并使用XMLDocumment / XPath或XDocument方法来修改和保存文件。