帮助选择绑定(WCF)

Ale*_*der 3 .net streaming wcf binding wcf-binding

我需要创建WCF应用程序,它将处理图片.它允许您将图片作为流获取,并将图片发送到服务器(作为流).它将在流传输模式下工作.目前我对这个选择犹豫不决.BasicHttpBinding还是NetTcpBinding?它们之间有什么区别?的优点和缺点.哪个更适合这个问题?

mar*_*c_s 5

查看此博客文章(或许多其他类似的帖子)

选择正确装订的图表来自Juval Lowy的书Programming WCF Services ,给出了最好的指导,真的:

在此输入图像描述

现在你对流媒体的额外要求限制了选择的数量,显然 - net.msmq是不可能的.

流媒体是支持basicHttpBinding,netTcpBindingnetNamedPipesBinding.最后一个可能也是不可能的,因为它只在同一台机器上工作(客户端和服务器).

所以这个选择真的可以归结basicHttpBindingnetTcpBinding.basicHttp适用于http连接和端口80,因此它非常适合互联网和"向公众开放"场景,而netTcp可能更快,但它需要特定的端口,需要在服务器和/或防火墙上打开 - 所以它可能更适合企业局域网环境,但不适用于一般的互联网本身.

在非常特定的情况下可能会考虑其他绑定,例如,如果您要迁移到云中,可能需要调查Relay绑定,如果您正在研究联合安全性,则可能需要调查联合绑定 - 但这些并不适用于此处说到流媒体.

  • 我认为这个问题应该是规范的"如何选择WCF绑定"问题.我会试着记住将其他人作为这个副本的副本. (2认同)