C# 无法通过c在machine.config中添加behaviorExtension#

C# 无法通过c在machine.config中添加behaviorExtension#,c#,biztalk,machine.config,btdf,C#,Biztalk,Machine.config,Btdf,BizTalk应用程序要求我将自定义behaviorExtension添加到machine.config文件中。我通过MSI和BizTalk部署框架(BTDF)安装我的应用程序,所以我希望这也能通过编程实现 现在我似乎找不到一种方法来列出已安装的行为,而不是编辑它们 我有下面的代码,但在那之后我就卡住了 // Get the machine.config file. Configuration machineConfig = ConfigurationManage

BizTalk应用程序要求我将自定义behaviorExtension添加到machine.config文件中。我通过MSI和BizTalk部署框架(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");

有谁能给我指点怎么做吗?

你就快到了。您的
extensions
变量的类型为
System.ServiceModel.Configuration.extensionSection
,它的属性BehaviorExtensions包含您要查找的内容。因此:

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

那正是我要找的!我不知道。非常感谢。