我們有以下項目:的web.config和app.config中的applicationSettings被覆蓋在ASP.NET
- Domain.UI.Web
- Domain.Business
- Domain.Services.EndPoints
- Domain.Services.Contracts
- Domain.Services.Agents
了Applica tionSettings被添加到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
的值覆蓋。這是Domain.Services.EndPoints
項目的web.config
。
<Domain.Business.My.MySettings>
<setting name="SomeKey" serializeAs="String">
<value>actual_value</value>
</setting>
</Domain.Business.My.MySettings>
</applicationSettings>
當我My.Settings.SomeKey
從Domain.Business
項目的價值是從端點項目actual_value
。這似乎是自動發生的,因爲我無法在我們的解決方案中找到任何代碼,似乎正在這樣做,我無法讓Google回答我的問題:
這是什麼?這是ASP.NET或WCF中的標準嗎?在什麼版本的框架中引入了這個?我在哪裏可以閱讀關於這種覆蓋行爲的更多信息?
我想Domain.Bussiness是一個類庫?在這種情況下,這是正常的行爲。 DLL沒有.config文件,因此它使用引用庫的應用程序的web.config(或可執行文件的app.config)。 – Hanno
就是這樣。顯然,所有的值都被來自「Domain.Services.EndPoints」的值覆蓋。但是沒有任何項目引用了只有'svc'文件的EndPoints。我想你列出的一般原則仍然適用,但這是WCF特有的東西? – Laoujin