gpt4 book ai didi

WCF NetTCPBinding 与 HttpBinding 在线发送数据的差异

转载 作者:行者123 更新时间:2023-12-04 18:14:56 25 4
gpt4 key购买 nike

假设我有一个暴露两个端点的服务,第一个是 NetTCPBinding,第二个是任何风格的 HttpBinding。它们都执行完全相同的服务契约(Contract)。

在线上发送的内容有什么区别?

  • 使用 netTcp 我的消息是否仍被序列化为 XML?或者我的对象的一些二进制表示?
  • 在接收消息方面有什么区别? http 端点是否只理解 http 命令(get/post 等),而 nettcp 端点理解不同的东西?
  • 为什么 nettcp 比 http 更有效(在这种情况下我不需要互操作性) - 开销在哪里?

  • 我认为在所有情况下,在将消息放到网络上之前,它将被转换为二进制,因此,http 在网络方面也位于 tcp 之上 - 所以 http 通信需要额外的地方。

    感谢这个问题有点含糊,但希望有人会知道我想问什么:)

    最佳答案

    在 WCF 中,特定的绑定(bind)不一定意味着特定的编码。可以配置各种绑定(bind)以使用各种编码。 Net.TCP 默认使用二进制编码(我认为是 MTOM),HTTP 默认使用 text/xml 编码。

    使用 net.tcp,您的消息会发送到发送者 -> net.tcp -> 接收者。使用 HTTP,它们从发送者 -> http -> tcp -> http -> 接收者开始。有一个额外的层。 tcp 的优势在于:额外层和默认编码。

    具有二进制编码的 HTTP 接近 net.tcp 性能。

    编辑:实际上我认为 Net.TCP 中可能还有其他优化。这是一个 WCF-WCF 通信场景,所以 MS 可以控制两端。

    关于WCF NetTCPBinding 与 HttpBinding 在线发送数据的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5500030/

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