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

问题描述 投票:0回答:1

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

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

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

谢谢你的建议!

.net wcf streaming
1个回答
0
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.