C# 以编程方式在配置文件中创建/编辑WCF节
如何以编程方式在配置文件中创建/编辑WCF节? 我知道如何阅读。但当您尝试更改配置时,会出现以下错误:C# 以编程方式在配置文件中创建/编辑WCF节,c#,wcf,wcf-configuration,C#,Wcf,Wcf Configuration,如何以编程方式在配置文件中创建/编辑WCF节? 我知道如何阅读。但当您尝试更改配置时,会出现以下错误: string pathToProg = @ "C: \ Proj \ WCF_Config \ ConsoleApplication1 \ bin \ Debug \Test.config"; ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap(); configFileMap.ExeConfigFilenam
string pathToProg = @ "C: \ Proj \ WCF_Config \ ConsoleApplication1 \ bin \ Debug \Test.config";
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = pathToProg;
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
ClientSection clientSection = ConfigurationManager.GetSection("system.serviceModel/client") as ClientSection;
// Exception: "The configuration is read only."
clientSection.Endpoints.Add(new ChannelEndpointElement(new EndpointAddress(@"http://1.1.1.1:1/HL7"), "Server.Message"));
我的最终目标是通过编程从头开始创建(并编辑)带有WCF设置的配置文件。如果你知道这是怎么解决的,请告诉我。
这对于我们的维护部门是必要的,因为他们发现很难直接编辑配置文件(Ip、绑定等)
UPD.
现在特别删除了整个目录复选框“只读”
一切都没有改变
你可以在这个代码上执行吗?这很简单-您只需在配置文件部分的“system.servismodel”中添加相关数据即可
PS。我认为问题在于:
ClientSection ClientSection=ConfigurationManager.GetSection(“system.serviceModel/client”)作为ClientSection;
clientSection.Endpoints.IsReadOnly-返回true
我的决定根本是错误的。该集合原则上不可编辑
如何纠正?我希望已经有人需要以编程方式创建配置文件
若要获取资源的配置对象,您的代码必须对从中继承设置的所有配置文件具有读取权限。要更新配置文件,您的代码还必须具有配置文件及其所在目录的写入权限
您是否具有对配置文件及其所在目录的读/写权限?您可以尝试。它似乎正是您想要的。根据您的假设编辑了该问题(如评论中所述)。总的来说,没有什么变化。