2012-01-04 41 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