2011-11-19 58 views
20

我目前有一个WCF服务,它使用BasicHTTP绑定,并用安全路由器/防火墙(PFSense)包装。WCF - 什么是最快的绑定?

我听说有一个比BasicHTTP绑定更快的绑定,但我现在知道它是什么。

有谁知道吗?

更新:好吧,两个很好的答案为intranet/localhost。谢谢! 因特网部署的应用程序怎么样?有更快的以互联网为中心的解决方案吗?

+0

一旦你搬出到互联网,你会不会是引入了很多的因素不一定是你的控制之下?我相信所有的WCF互联网绑定都基于HTTP协议,所以我希望他们的速度非常接近,除非其他因素在起作用。 – Tim

回答

24

如果解决方案部署到企业内部网,你可以使用NetTcpBinding的。

http://msdn.microsoft.com/en-us/library/system.servicemodel.nettcpbinding.aspx

虽然也许不是authoratative,this post涵盖一些基准与这些结果,这是对我的回答和parapura的一致:

WSDualHttpBinding: Processed 1602 calls in 10 seconds 
WSHttpBinding: Processed 2531 calls in 10 seconds 
BasicHttpBinding: Processed 17913 calls in 10 seconds 
NetTcpBinding: Processed 39957 calls in 10 seconds 
NetNamedPipeBinding: Processed 48255 calls in 10 seconds 
+0

@slugster更新 – Jay

+0

优秀的,你只是做你的答案好多了:) – slugster

+0

仅供参考,该博客文章的链接看起来已经死了 – Cody

9

在同一台机器上,你可以使用NetNamedPipeBinding最大性能。

Decision Points for Choosing a Transport

吞吐量测量,可以在指定的时间段期间被发送和处理的数据的量。与等待时间一样,所选择的传输可能会影响服务操作的吞吐量。最大化传输的吞吐量需要最小化传输内容的开销,并尽量减少等待消息交换完成的时间。 TCP和命名管道传输两者对消息正文都没有增加额外开销,并且支持原生双工形状,从而减少了对消息响应的等待。