2011-08-22 175 views
3

我正在为WCF添加自定义behaviorExtensionElement,并且想要添加可读取的属性,以便在读取配置的元素时(例如,将属性添加到BehaviorExtensionElement

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

不过,我得到一个错误“无法识别的属性‘myAttribute’。请注意,属性名称是区分大小写的。”

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

+0

说明如下:http://blogs.msdn.com/b/carlosfigueira/archive/2011/06/28/wcf-extensibility-behavior-configuration-extensions.aspx –

回答

12

原因很简单,因为BehaviorExtensionElement子类ConfigurationElement,通常的配置规则适用。

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

是否有可能加入BehavoiorExtensionElement作为服务接口中的一个属性,如: [myExtension] bool UpdateObject(object myObject); ??非常感谢 – VAAA