Невозможно добавить behaviorExtension в machine.config через c #

Мое приложение BizTalk требует, чтобы я добавил настраиваемое расширение поведения в мой файл machine.config. Я устанавливаю свое приложение через MSI, через BizTalk Deployment Framework (BTDF), поэтому я хотел бы, чтобы это было сделано и программно.

Теперь я не могу найти способ перечислить установленные поведения, а не редактировать их.

У меня есть следующий код, но после этого я застрял.

        // Get the machine.config file.
        Configuration machineConfig = ConfigurationManager.OpenMachineConfiguration();
        // Get the machine.config file path.
        ConfigurationFileMap configFile = new ConfigurationFileMap(machineConfig.FilePath);

        // Map the application configuration file to the machine 
        // configuration file.
        Configuration config = ConfigurationManager.OpenMappedMachineConfiguration(configFile);

        ConfigurationSectionGroup svcModel = config.SectionGroups.Get("system.serviceModel");
        ConfigurationSection extensions = svcModel.Sections.Get("extensions");

Может ли кто-нибудь подсказать мне, как к этому подойти?


person Pieter Vandenheede    schedule 28.05.2016    source источник


Ответы (1)


Вы почти там. Ваша переменная extensions относится к типу System.ServiceModel.Configuration.ExtensionsSection, у которого есть свойство BehaviorExtensions, содержащее то, что вы ищете. Так:

var extensions = (System.ServiceModel.Configuration.ExtensionsSection) svcModel.Sections.Get("extensions");
var behaviors = extensions.BehaviorExtensions;
person Evk    schedule 28.05.2016
comment
Это было именно то, что я искал! Не имел представления. Спасибо. - person Pieter Vandenheede; 29.05.2016