Добавление атрибута в 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; }
}