gpt4 book ai didi

存在名称参数时未选择 WCF endpointBehaviors 扩展?

转载 作者:行者123 更新时间:2023-12-04 13:54:56 26 4
gpt4 key购买 nike

我正在尝试使用自定义 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>

工作得很好。

谢谢

最佳答案

听起来 WCF 根本不接受您的服务和端点配置。可能是因为您的契约(Contract)属性中有一个空格。因此,WCF 默认为机器配置文件中定义的默认端点,这会导致应用默认行为。检查您的服务和契约(Contract)名称,确保它们与您的代码匹配。

http://blogs.msdn.com/b/endpoint/archive/2009/06/30/service-configuration-improvements-in-net-4.aspx

关于存在名称参数时未选择 WCF endpointBehaviors 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4015376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com