カスタム MessageInspector を使用してサービス エンドポイントの動作を拡張しようとしています。拡張機能は正常に動作し、取得されますが、動作タグで「name」パラメーターを定義せず、エンドポイントで特定の behaviorConfiguration を定義しない場合に限ります。これは、すべてのエンドポイントを拡張していることを意味し、これは望ましくありません。誰が私が間違っているのか説明してもらえますか?
この構成はmyBehaviour
拡張機能を取得せず、失敗しません。
<system.serviceModel>
<services>
<service name="testService">
<endpoint address="http://localhost:9999/TestServiceService"
binding="wsHttpBinding"
contract="ITestService "
behaviorConfiguration="myBehaviour"
/>
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"
/>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="myBehaviour">
<HeaderForwardExtension />
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add name="HeaderForwardExtension" type="Test.Service.HeaderForwardBehavior, Test.Service, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>
</extensions>
</system.serviceModel>
ただし、削除する
behaviorConfiguration="myBehaviour"
名前が存在しないように動作タグを変更します
<behavior>
<HeaderForwardExtension />
</behavior>
うまく動作します。
ありがとうございました