0

我们有以下项目:

  • 域.UI.Web
  • 领域.业务
  • 域.服务.端点
  • 域.服务.合同
  • 域.服务.代理

ApplicationSettings 被添加到app.Config例如Domain.Business项目中:

<applicationSettings>
    <Domain.Business.My.MySettings>
        <setting name="SomeKey" serializeAs="String">
            <value>someDummyValue</value>
    </Domain.Business.My.MySettings>
</applicationSettings>

为 Visual Studio 生成的类型化访问器添加了密钥。但是,该值被web.config另一个项目中的值覆盖。这是web.configDomain.Services.EndPoints项目的。

<Domain.Business.My.MySettings>
        <setting name="SomeKey" serializeAs="String">
            <value>actual_value</value>
        </setting>
    </Domain.Business.My.MySettings>
</applicationSettings>

当我My.Settings.SomeKeyDomain.Business项目中获取时,值actual_value来自 EndPoints 项目。这似乎是自动发生的,因为我在我们的解决方案中找不到任何似乎正在这样做的代码,而且我无法让谷歌回答我的问题:

这是什么?这是 ASP.NET 或 WCF 中的标准吗?这是在哪个版本的框架中引入的?我在哪里可以阅读有关此覆盖行为的更多信息?

4

1 回答 1

1

由于 Domain.Bussiness 是一个类库,因此这是正常行为。dll 没有 .config 文件,因此它使用引用该库的应用程序的 web.config(或 app.config,如果是可执行文件)。

于 2013-01-07T08:27:58.990 回答