Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Configuration App.config和企业库_Configuration_Split_Enterprise Library - Fatal编程技术网

Configuration App.config和企业库

Configuration App.config和企业库,configuration,split,enterprise-library,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.Configura

我正在使用企业库进行日志记录。因此,为了保存配置,我使用客户端的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>

您可以使用以编程方式加载外部配置文件

在应用程序加载或初始化期间,您可以加载外部配置文件:

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);
完成后,您可以访问您喜爱的功能:

LogWriter logWriter = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();
logWriter.Write("Test");
LogWriter LogWriter=EnterpriseLibraryContainer.Current.GetInstance();
logWriter.Write(“测试”);
唯一的“诀窍”是确保配置文件始终存在于您期望的位置(绝对或相对)

您可以使用以编程方式加载外部配置文件

在应用程序加载或初始化期间,您可以加载外部配置文件:

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);
完成后,您可以访问您喜爱的功能:

LogWriter logWriter = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>();
logWriter.Write("Test");
LogWriter LogWriter=EnterpriseLibraryContainer.Current.GetInstance();
logWriter.Write(“测试”);
唯一的“诀窍”是确保配置文件始终存在于您期望的位置(绝对或相对)