2012-01-04 63 views
3

我想配置一个WCF端点使用自定义端点行为扩展,但我一直运行到该错误消息:配置错误当试图注册自定义端点行为

出错创建配置节处理程序for system.serviceModel/behaviors:扩展元素'endpointMessageInspector'不能添加到此元素。验证扩展是否在system.serviceModel/extensions/behaviorExtensions的扩展集合中注册。 参数名:元素

我的端点配置是这样的:

<endpoint address="" binding="webHttpBinding" contract="Services.IGraphService" 
      behaviorConfiguration="corsMessageInspection" 
      bindingConfiguration="LargeMessageBinding" 
      bindingNamespace="http://some.domain.org"> 
</endpoint> 

EndpointBehaviors:

<behavior name="corsMessageInspection"> 
    <endpointMessageInspector /> 
</behavior> 

BehaviorExtensions:

<behaviorExtensions> 
    <add name="endpointMessageInspector" type="Services.Cors.CorsEndPointExtensionElement, Services, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"/> 
</behaviorExtensions> 

我看过一些其他线程说类型a行为扩展的属性值必须为,正好为,与扩展所属的程序集的类型相同。我继续检查,并且找不到这个配置的问题。

有人能告诉我我做错了什么吗?

+0

CorsEndPointExtensionElement需要继承BehaviorExtensionElement类。 CorsEndPointExtensionElement中的重载CreateBehaviour()方法应返回实现IEndpoinBehavior的新行为。 – Rajesh 2012-01-05 13:43:45

+0

会容易,如果你可以显示你的创建自定义行为元素和消息检查器的实现 – Rajesh 2012-01-05 13:44:19

+0

@Rajesh谢谢..我的扩展程序继承自BehaviorExtensionElement。我相信这个问题其实就是我想要注册的程序集的名称。 – Nick 2012-01-05 15:18:08

回答

1

这似乎是我的大会“服务”的名称可能是问题。我终于尝试使用WCF服务配置编辑器编辑配置文件。它无法打开配置抱怨命名空间“Services.Cors.CorsEndPointExtensionElement不存在的时候,事实上,它做到了。

我结束了我的移动WCF行为扩展代码放入了自己的装配,使用不同的命名空间。这。固定的问题,我没有测试过是否名称,“服务”是有冲突或不

+0

我最近有同样的问题...想知道你是否找到了原因。 – Laguna 2012-04-23 13:27:32

0

这是正确的版本? - >版本= 0.0.0.0