Добавление атрибута в BehaviorExtensionElement

Я добавляю пользовательское поведение ExtensionElement для WCF и хочу добавить атрибут, который может быть прочитан во время чтения настроенного элемента, например

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

Однако я получаю сообщение об ошибке "Нераспознанный атрибут" myAttribute ". Обратите внимание, что имена атрибутов чувствительны к регистру".

Как я могу избежать этого? Как мне прочитать значение myAttribute в коде?

1 ответ

Решение

Оказывается, это довольно просто, поскольку подклассы BehaviorExtensionElement ConfigurationElement применяются обычные правила конфигурации.

[ConfigurationProperty("myAttribute")]
public string MyAttribute
{
  get { return (string)this["myAttribute"]; }
  set { this["myAttribute"] = value; }
}
Другие вопросы по тегам