2012-05-01 9 views
2

私はWCFサービス(.NET 3.5)アプリケーションをhttp://example.comで実行しています。クラスMy.SharePoint.WebServices.JsonpBindingExtensionがaplicationの一部である子アプリケーション用web.configのカスタムバインディング要素の削除

<extensions> 
    <bindingElementExtensions> 
    <add name="jsonpMessageEncoding" type="My.SharePoint.WebServices.JsonpBindingExtension, My.SharePoint.WebServices, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
    </bindingElementExtensions> 
</extensions> 

:そのweb.configファイルはJSONP符号化するように構成されています。

http://example.com/other-services/に別のWCFアプリケーションを配備していますが、ここに私が問題があります。このサービスを呼び出そうとすると、私がMy.SharePoint.WebServicesアセンブリをロードできないというエラーが発生します。この他のアプリケーションでは使用していません。トップアプリケーションのweb.configがこのweb.configとマージされているようです。

このサブアプリケーションでjsonpMessageEncodingを削除/登録解除する方法はありますか?

私のような何かを行うに期待していた。

<extensions> 
    <bindingElementExtensions> 
    <remove name="jsonpMessageEncoding"/> 
    </bindingElementExtensions> 
</extensions> 

をしかし、この設定セクションにはremoveはありません。

アイデア?

答えて

0

新しいアプリケーションが最初のアプリケーションの直下に配置されている場合、Web configsは実際にマージされます。残念ながら、拡張機能は削除できません。関連する設定クラスでもaddメソッド以外のものはサポートされていません。なぜなら、addへの呼び出しが最初に処理され、予想される削除に達する前に型が解析されるからです。

回避策(テストされていない)として、location element in your root application web.configを使用して、ルートアプリケーションのみの拡張機能を定義できます。

関連する問題