0 configuration split enterprise-library
我正在使用企业库进行日志记录.所以,为了保持我的配置,我正在使用客户端的app.config.该要求已更改为"拆分EL配置和UI配置".我使用enterpriseLibrary.ConfigurationSource做到了.将配置拆分为app.config(对于UI)和EL.config(对于EL).
现在我想从app.cpnfig中隐藏对这个EL.config的引用,这样就不会对用户隐藏这个EL> config的存在.
App.config代码:
<enterpriseLibrary.ConfigurationSource selectedSource="EntLib Configuration Source">
<sources>
<add name="EntLib Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
filePath="C:\My.CommonServices.Logging\My.CommonServices.Logging\EL.config" />
</sources>
Run Code Online (Sandbox Code Playgroud)
您可以使用FileConfigurationSource
以编程方式加载外部配置文件.
在应用程序加载或初始化期间,您可以加载外部配置文件:
FileConfigurationSource fcs =
new FileConfigurationSource(
@"C:\My.CommonServices.Logging\My.CommonServices.Logging\EL.config"
);
var builder = new ConfigurationSourceBuilder();
builder.UpdateConfigurationWithReplace(fcs);
EnterpriseLibraryContainer.Current =
EnterpriseLibraryContainer.CreateDefaultContainer(fcs);
Run Code Online (Sandbox Code Playgroud)
完成后,您可以访问自己喜欢的功能:
LogWriter logWriter = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();
logWriter.Write("Test");
Run Code Online (Sandbox Code Playgroud)
唯一的"技巧"是确保配置文件始终存在于您期望的位置(绝对或相对).
归档时间: |
|
查看次数: |
3372 次 |
最近记录: |