gpt4 book ai didi

c# - 我可以更改默认配置文件吗?

转载 作者:行者123 更新时间:2023-11-30 15:13:06 25 4
gpt4 key购买 nike

我正在使用 Jeff Atwood 的 Last Configuration Section Handler You'll Ever Need ,但它似乎只适用于默认的 app.config 文件。如果我想将某些设置分离到另一个文件中,则反序列化不起作用,因为 ConfigurationManager.GetSection 仅从应用程序的默认 app.config 文件中读取。是否可以更改默认配置文件的路径或将 ConfigurationManager 指向第二个配置文件?

最佳答案

是的,只需将默认配置文件中的部分替换为具有指向另一个文件的 configSource=""属性的同名 xml 元素...

... 在您的 App.config 或 web.config...

  <configSections>
<section name="Connections"
type="BPA.AMP.Configuration.XmlConfigurator, BPA.AMP.Data.Config.DAL"/>
<section name="AutoProcessConfig"
type="BPA.AMP.Configuration.XmlConfigurator, BPA.AMP.Data.Config.DAL"/>
</configSections>


<Connections configSource="Config\Connections.config" />
<AutoProcessConfig configSource="Config\AutoProcess.config" />

然后是普通的xml;Configurator类

   public class XmlConfigurator : IConfigurationSectionHandler
{
public object Create(object parent,
object configContext, XmlNode section)
{
XPathNavigator xPN;
if (section == null || (xPN = section.CreateNavigator()) == null )
return null;
// ---------------------------------------------------------
Type sectionType = Type.GetType((string)xPN.Evaluate
("string(@configType)"));
XmlSerializer xs = new XmlSerializer(sectionType);
return xs.Deserialize(new XmlNodeReader(section));
}
}

关于c# - 我可以更改默认配置文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/421174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com