我正在尝试使用自定义 MessageInspector 扩展我的服务端点行为,扩展工作正常并且它被拾取,但前提是我没有在行为标签上定义“名称”参数并且没有在端点上定义特定的行为配置。这意味着我正在扩展所有端点,这是我不想要的。谁能解释一下我做错了什么?
此配置不会获取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>
工作得很好。
谢谢