2016-05-28 7 views
1

Приложение BizTalk требует, чтобы я добавил пользовательский элемент поведения в файл machine.config. Я устанавливаю свое приложение через MSI через BizTalk Deployment Framework (BTDF), поэтому я хотел бы, чтобы это было сделано программно.Невозможно добавить поведениеExtension в machine.config с помощью C#

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

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

 // 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"); 

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

ответ

1

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

var extensions = (System.ServiceModel.Configuration.ExtensionsSection) svcModel.Sections.Get("extensions"); 
var behaviors = extensions.BehaviorExtensions; 
+0

Это именно то, что я искал! Не имел представления. Спасибо. –