【问题标题】:Replacing Client section doesn't work (system.serviceModel)替换客户端部分不起作用(system.serviceModel)
【发布时间】:2009-11-19 09:30:42
【问题描述】:

我正在尝试用我自己的处理程序替换“客户端”处理程序的默认 machine.config 设置,但是,当我运行它时,我收到了这个错误:

“已定义部分或组名称‘client’。对此的更新只能在定义它的配置级别发生。”

这是我的 app.config 的样子:

<configuration>
  <configSections>
    <remove name="client"/>
    <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="client" type="xyz.Messaging.CustomClientSection, Point.Messaging" />
    </sectionGroup>
  </configSections>

如果您知道为什么它似乎没有删除此部分(正如人们所期望的那样)并给我这个错误,请告诉我。

谢谢。

【问题讨论】:

    标签: wcf app-config


    【解决方案1】:

    AFAIK,你不能这样做。 &lt;client&gt; 子部分通过其Client property 与ServiceModelSectionGroup 紧密相关。

    【讨论】:

    • 为什么不呢?我看到你可以替换其他 machine.config 部分,它在哪里说我不能替换它并设置另一个 configurationElement 来列出你的端点?如果是这种情况,有没有办法从另一个来源“代理”这些值(由于某些限制,我不能将它放在我的 app.config 中)。谢谢
    • 如果你在你的问题中解释更多你想要完成的事情可能会更好,这样我们就可以就如何解决问题提出建议。
    • 首先非常感谢您。我们遇到的问题与我们可以将 WCF 通道信息存储在 app.config 中的事实有关(出于某些部署原因)。因此,我考虑创建一个“代理”类,通过实现 configurationSection 模型来服务这些值(从另一个资源中获取),然后用我自己的实现“覆盖”“客户端”(以及服务)子配置,这将提供将这些值传递给 WCF 服务(与 TIBCO 一起使用)。如果您有更好的主意,请告诉我。
    【解决方案2】:

    您可以这样做,但您必须删除并重新添加整个 system.serviceModel 部分。我认为您不能只挑出“客户”小节。

    <configuration>
      <configSections>
        <remove name="system.serviceModel"/>
        <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
          <section name="client" type="xyz.Messaging.CustomClientSection, Point.Messaging" />
        </sectionGroup>
      </configSections>
      ...
    </configuration>
    

    当然,这将是一些工作。希望这会有所帮助,但我感觉你不会喜欢这个答案。

    删除小节的唯一方法是如果 sectionGroup 元素支持 &lt;remove&gt; 元素,但它不支持:http://msdn.microsoft.com/en-us/library/ms228114.aspx

    希望这对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      相关资源
      最近更新 更多