J'essaie d'étendre mon comportement de point de terminaison de service avec MessageInspector personnalisé, l'extension fonctionne bien et est ramassée, mais seulement si je ne définis pas le paramètre "name" sur la balise de comportement et ne définissons pas behaviorConfiguration sur le point de terminaison. Cela signifie que j'étends tous les points de terminaison et c'est ce que je ne veux pas. Quelqu'un pourrait-il m'expliquer ce que je fais mal?L'extension WCF endpointBehaviors n'est pas détectée lorsque le nom param est présent?
Cette configuration ne prend pas en charge l'extension myBehaviour
et n'échoue pas.
<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>
Cependant la suppression
behaviorConfiguration="myBehaviour"
et le changement de comportement étiquette de sorte que le nom n'est pas présent
<behavior>
<HeaderForwardExtension />
</behavior>
fonctionne très bien.
Merci
Désolé Je ne sais pas d'où cela vient, mais votre message vient de résoudre mon problème des deux derniers jours - je ne pouvais pas obtenir mon service à utiliser un behaviorExtension nommé, mais il n'a pas d'importance pour moi si l'extension est à l'échelle du service. – tomfumb