无法通过 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;
我的 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;