Moh*_*san 9 c# configuration app-config
我正面临一个问题.
我有一个与web服务交互的DLL,它将端点配置保存在app.config文件中.
我想在我的宿主应用程序中使用这个dll.主机应用程序有自己的配置文件.每次更改服务端点时,我都必须将dll配置的内容合并到主机的配置中.
有没有办法可以使用两个配置文件.所以dll使用自己的配置,而主机应用程序使用自己的配置.
Ken*_*ozi 10
配置文件可以包含外部文件.
如果您将端点的配置放在外部文件上,然后将其包含在您的主机中,则无需每次都更改主机的配置
例如:在你的app.config文件中:
...
<configSections>
...
<section name="myEndpoint" type="System.Configuration.DictionarySectionHandler" />
...
</configSections>
...
<myEndpoint configSource="myEndpoint.config" />
Run Code Online (Sandbox Code Playgroud)
然后myEndpoint.config看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<myEndpoint>
<add key="myKey" value="myValue" />
</myEndpoint>
Run Code Online (Sandbox Code Playgroud)
并且您可以访问代码中的值,类似于阅读正常的应用设置,如下所示:
var myEndpointConfig = (Hashtable)ConfigurationManager.GetSection("myEndpoint");
Console.WriteLine(myEndpointConfig["myKey"]);
Run Code Online (Sandbox Code Playgroud)
正确的方法是将DLL的配置文件合并到EXE的配置文件中;开箱即用。但是当有 Web 参考时请参阅 .NET DLL 设置和配置 - 发生了什么?一种显式打开配置文件并读取它的方法。问题是您需要首先找到配置文件,这并不一定容易。如果 DLL 只是闲置,您可以检查同一目录。但如果是在 GAC 中,您会在哪里寻找?我建议坚持正确的方法。
| 归档时间: |
|
| 查看次数: |
9741 次 |
| 最近记录: |