将属性添加到BehaviorExtensionElement

时间:2011-08-22 23:01:41

标签: wcf configuration wcf-configuration servicebehavior

我正在为WCF添加一个自定义behaviorExtensionElement,并希望添加一个在读取配置元素时可以读取的属性,例如

<system.serviceModel>
    <extensions>
      <behaviorExtensions>
        <add name="myExtension"
             type="Bar.FooBarElement, Bar"/>
      </behaviorExtensions>
    </extensions>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <myExtension myAttribute="Foo" />

但是,我收到错误“无法识别的属性'myAttribute'。请注意,属性名称区分大小写。”

我该如何避免这种情况?如何在代码中读取myAttribute值?

1 个答案:

答案 0 :(得分:13)

事实证明这很简单,因为BehaviorExtensionElement是ConfigurationElement的子类,通常的配置规则适用。

[ConfigurationProperty("myAttribute")]
public string MyAttribute
{
  get { return (string)this["myAttribute"]; }
  set { this["myAttribute"] = value; }
}