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

Unable to add behaviorExtension in machine.config via c#

我的 BizTalk 应用程序要求我将自定义 behaviorExtension 添加到我的 machine.config 文件中。我通过 BizTalk 部署框架 (BTDF) 通过 MSI 安装我的应用程序,所以我希望这也能以编程方式完成。

现在我似乎找不到一种方法来列出已安装的行为而不是编辑它们。

我有以下代码,但之后我卡住了。

        // 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.ExtensionsSection 类型,其中 属性 BehaviorExtensions 包含您要查找的内容。所以:

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