Asp.net
ASP.NET web.config:configSource 與文件屬性
在
web.configASP.NET 應用程序的 -file 中,配置的某些部分(如appSettings和connectionStrings)支持屬性**file和configSource**。
file使用-attribute 和-attribute有什麼區別configSource?什麼時候應該使用哪個屬性,可以同時使用嗎?<?xml version="1.0"?> <configuration> <appSettings file="AppSettings.config"> </appSettings> <connectionStrings configSource="ConnectionStrings.config"> </connectionStrings> <!-- ... --> </configuration>
file屬性
- 指定包含自定義應用程序配置設置的外部文件的相對路徑
- 具體到
appSettings部分- 將合併(並覆蓋).config 文件中的設置
- 修改指定文件時不會導致web應用重啟
- <http://msdn.microsoft.com/en-US/library/ms228154(v=vs.100).aspx>
- 使用配置。應用設置。設置。添加API 將導致所有設置合併回 Configuration 上的主
.config設置。保存通話。- 從 .NET 1.1 開始
- 如果文件不存在,則不會拋出異常。
configSource屬性
- 可以應用於配置文件的大部分部分,而不僅僅是
appSettings- 將用外部文件覆蓋**整個部分,**不合併
- 可以導致 Web 應用程序重新啟動
- <http://msdn.microsoft.com/en-US/library/system.configuration.sectioninformation.configsource(v=vs.100).aspx>
- 使用配置。應用設置。設置。添加API 將導致將所有設置添加到Configuration
configSource中指定的文件中。保存通話。- 從 .NET 2.0 開始
System.Configuration.ConfigurationErrorsException如果配置源文件不存在則拋出。該
file屬性指定一個包含自定義設置的外部文件,就像您在 web.config 文件的 appSettings 條目中所做的那樣。同時,屬性中指定的外部文件configSource包含您為其聲明 configSource 的部分的設置。例如,如果您使用configSourcepages 部分的屬性,則外部文件將包含 pages 部分的設置。在屬性中指定的外部配置中聲明的自定義設置 將與文件中 部分中
file的設置合併。同時, 不支持合併,這意味著您必須將整個部分設置移動到外部文件中。appSettings``web.config``configSource<http://www.codeproject.com/Messages/1463547/Re-difference-between-configSource-and-file-attrib.aspx>