WCF NetTcp绑定 - 将TransferMode从缓冲更改为流

时间:2018-02-26 14:52:15

标签: .net wcf streaming

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

我们现在必须实现一个接受Stream作为参数的服务。如果我在服务器和客户端上将TransferMode更改为“Streaming”,这是否会破坏现有合同?或者他们只是像以前那样行事,这意味着,只要没有传递“Stream”类型的参数,他们就会使用Buffered模式?

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

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

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

基本上,TrasferMode 缓冲会在将所有数据发送到另一个端点之前将所有数据加载到您的内存中,而流式传输将在它们准备就绪后立即开始发送数据块并将减少发送大量字节所需的内存量。

在这里你可以看到使用流媒体信息的一些限制,但它不应该影响你理解的当前情况

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

相关问题