在app.config文件中写一节

时间:2016-08-26 13:20:44

标签: c# .net

我看过here关于使用ConfigurationManager更改app.config文件的问题。这似乎在文件中的 ContractorCtrl.$inject = ['$scope', '$interval', '$window', '$filter', 'uiGridConstants', '$q', '$timeout']; function ContractorCtrl($scope, $interval, $window, $filter, uiGridConstants, $q, $timeout) 下写入值。

我觉得我的问题可能是一个非常相似的变化,但我不知道该怎么做。

我在app.config文件中定义了一个<appSettings>元素,例如configSections,并在配置文件中给它一些值:

<section name="Example".../>

如果我使用命令<Example file="C:\temp\".../>,我可以获得此值。

我想知道,有没有办法在运行时更改此值?所以我想稍后使用ConfigurationManager.GetSection("Example"),并返回新的(更改的)值 - 如果可能的话?谢谢,

2 个答案:

答案 0 :(得分:4)

将这些信息放在配置文件中只是实现您所需要的一步。

您的<Example> - 节点是自定义部分,当时未知。为了使ConfigurationManager能够在运行时将您的部分解析为实际对象,您必须将您的部分定义为派生自ConfigurationSection的类:

public class ExampleSection : ConfigurationSection
{
    [ConfigurationProperty("file", IsRequired = true)]
    public string File
    {
        get
        { 
            return this["file"]; 
        }
        set
        { 
            this["file"] = value; 
        }
    }

如需完整示例,请查看this comprehensive MSDN-article

答案 1 :(得分:3)

您可以查看此链接,这是您的问题的一个很好的示例:

update appsettings and custom configuration sections in appconfig at runtime