【问题标题】:Is disabling WS-addressing for wshttpbinding without custom binding possible?是否可以在没有自定义绑定的情况下禁用 wshttpbinding 的 WS 寻址?
【发布时间】:2014-03-25 10:49:30
【问题描述】:

我有支持 basichttpbinding 和 wshttpbinding 的 wcf 服务。我的客户端使用 basichttpbinding 运行良好,但是当他们尝试使用 wshttpbinding 发布请求时,除非他们在标题中包含 wsa 标记,否则它不起作用,但由于某种原因他们无法更改它。

我的问题是我可以让它在没有wsa 标签的情况下工作吗?我看到有关更改为自定义绑定的帖子,但我对此持怀疑态度。首先,我想知道没有自定义绑定是否有任何可能。如果没有,使用自定义绑定有什么缺点吗?它有什么好处?我可以有 2 个 wshttp 端点,其中一个使用 wshttpbinding,另一个使用 custombinding?

转换为自定义绑定时究竟发生了什么?编码类型有变化吗?

谢谢。

【问题讨论】:

    标签: .net web-services wcf wcf-binding wshttpbinding


    【解决方案1】:

    basicHttp 和 wsHttp 绑定也是自定义绑定,因为它们由构成绑定的各种配置元素组成。在 basicHttp 和 wsHttp 的情况下,这恰好是两个最常用的 SOAP 配置,由 .NET WCF 团队配置以方便地表示这些配置,因此您不必在每次使用它们时自定义指定它们。

    convert predefined bindings to custom bindings 非常简单。更改的内容取决于您更改的元素。

    是的,服务可以有一个或多个指向它的端点。

    【讨论】:

      【解决方案2】:

      当系统提供的绑定之一不完全匹配时,WCF CustomBindings 允许您构造一个绑定以满足您的服务的要求。在大多数情况下,CustomBinding 将由“标准”绑定中使用的相同“构建块”(系统提供的绑定元素)构建。真正的区别在于您可以决定将哪些组件组装在一起,而不是依赖于 Microsoft 提供的集合。

      您可能会发现 WCF “BindingBox” 可以帮助您将标准绑定转换为自定义绑定:http://webservices20.blogspot.com/2009/08/bindingbox-convert-wcf-bindings.html

      此外,以下链接提供了有关 CustomBindings 的其他信息: http://msdn.microsoft.com/en-us/library/aa347793(v=vs.110).aspx

      【讨论】:

        猜你喜欢
        • 2017-03-23
        • 1970-01-01
        • 1970-01-01
        • 2011-10-10
        • 2011-05-08
        • 2011-11-02
        • 1970-01-01
        • 1970-01-01
        • 2012-05-29
        相关资源
        最近更新 更多