我想知道为什么流模式下的 WCF 与缓冲模式相比确实很慢。
基本上,我从服务器读取大量数据(数据库访问),然后通过 WCF 将大量数据传输到其他客户端。
我通过比较两种不同的传输模式进行了一些测试和基准测试。
我创建了 2 个端点。第一个正在使用transferMode="Buffered"
另一个正在使用transferMode="StreamedResponse"
.
通过从 SQL Server(虚拟表)加载相同的 100 万行,结果如下:
- 缓冲的:20447毫秒。
- 流媒体:109417毫秒。
流媒体是这样完成的Q/A https://stackoverflow.com/a/52083534/1504370。基本上,数据存储在IEnumerable<T>
然后流式传输到使用它的客户端。
我可以提供WCFapp.config
文件(如果需要)。
顺便说一句,我已经看过其他类似的问题,例如:
WCF NetTcpBinding 缓冲与流性能问题 https://stackoverflow.com/q/2111844/1504370
但他们并没有真正给出合适的答案。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)