Что эквивалентно log4net.Config.XmlConfigurator в Enterprise Library 5.0

Я использую VS2010 и хочу найти эквивалент log4net.Config.XmlConfigurator в MS Enterprise Library 5.0. Точно так же, как можно встроить расположение файла конфигурации журнала в AssemblyInfo.cs для log4net,

[assembly: XmlConfigurator(ConfigFile = @"C:\Test\Log4Net.config", Watch = true)]

Я также хочу иметь возможность указать файл конфигурации для Enterprise Library.
Как это сделать?


person KatariaA    schedule 01.09.2014    source источник


Ответы (1)


В Enterprise Library 5 нет аналогичного атрибута. Один из подходов - использовать FileConfigurationSource для программной загрузки нужного файла конфигурации, а затем настроить Enterprise Libary. Например:

FileConfigurationSource fcs = 
    new FileConfigurationSource(
        @"C:\Test\entlib.config"
    );

var builder = new ConfigurationSourceBuilder();
builder.UpdateConfigurationWithReplace(fcs);

EnterpriseLibraryContainer.Current = 
    EnterpriseLibraryContainer.CreateDefaultContainer(fcs); 

Если вы хотите, вы можете создать свой собственный XmlConfigurator корпоративной библиотеки, который обертывает приведенный выше код. Однако обратите внимание, что если несколько сборок настраивают Enterprise Library с разными файлами конфигурации, они перезапишут конфигурацию друг друга.

person Randy supports Monica    schedule 16.09.2014