我看过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")
,并返回新的(更改的)值 - 如果可能的话?谢谢,
答案 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