我需要创建一个WCF应用程序,它将与图片一起工作。它允许您以流的形式获取图片,并将图片发送到服务器(以流的形式)。它将在流传输模式下工作。目前我对这个选择犹豫不决。BasicHttpBinding还是NetTcpBinding?它们之间有什么区别?优缺点是什么?哪一个对于这个问题来说更好?
我需要创建一个WCF应用程序,它将与图片一起工作。它允许您以流的形式获取图片,并将图片发送到服务器(以流的形式)。它将在流传输模式下工作。目前我对这个选择犹豫不决。BasicHttpBinding还是NetTcpBinding?它们之间有什么区别?优缺点是什么?哪一个对于这个问题来说更好?
Programming WCF Services
,并提供了最佳指导:
basicHttpBinding
、netTcpBinding
和netNamedPipesBinding
支持。最后一个可能也不可能,因为它只能在同一台机器上运行(客户端和服务器)。basicHttpBinding
vs. netTcpBinding
。基本的HTTP工作在HTTP连接和端口80上,所以它非常适合互联网和“向公众开放”的场景,而netTcp可能会快一点,但它需要特定的端口,在服务器和/或防火墙上需要打开这些端口,因此它可能更适合企业LAN环境,但不是针对普通互联网本身。如果你没有非常大的流数据,那么流响应模式不是最佳选择。假设你的图片只有几KB或者最多100KB,使用缓冲传输模式可能更好。你可以使用流契约和缓存传输模式,整个数据实际上都被缓冲了,但数据契约使你可以像使用流一样访问它。