【问题标题】:WCF NetTcp Binding - changing TransferMode from Buffered to StreamingWCF NetTcp 绑定 - 将 TransferMode 从 Buffered 更改为 Streaming
【发布时间】:2018-08-06 01:38:02
【问题描述】:

我们有一个 WCF 自托管服务器和几个 Winforms 和 Web 客户端,它们都使用带有 TransferMode=Buffered 的 NetTcp 绑定。我们有各种各样的 DataContracts,使用大量带有任意对象作为参数的方法。

我们现在必须实现一个接受 Stream 作为参数的服务。如果我在服务器和客户端上将 TransferMode 更改为“Streaming”,这会破坏现有合同吗?还是他们只是表现得像以前一样,也就是说,只要没有传递“Stream”类型的参数,他们就使用缓冲模式?

快速冒烟测试似乎是这种情况(应用程序的行为与以前一样) - 但我需要确保没有我可能监督的后果。

感谢您的建议!

【问题讨论】:

    标签: .net wcf streaming


    【解决方案1】:

    只需将 TransferMode 从缓冲更改为流式不会破坏合同,它只会影响您的绑定。

    基本上,TrasferMode buffered 会将所有数据加载到您的内存中,然后再将其发送到另一个端点,而 streamed 将在准备好数据块后立即开始发送并且会减少发送大量字节所需的内存量。

    在这里您可以看到使用流式消息的一些限制,但据我了解,它不应该影响您目前的情况

    https://blogs.msdn.microsoft.com/drnick/2006/03/31/how-to-enabling-streaming/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-28
      • 2011-10-22
      • 2014-07-03
      • 1970-01-01
      • 2010-12-08
      • 2015-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多