哪个WCF绑定用于LAN客户端应用程序

时间:2010-07-07 15:18:13

标签: visual-studio-2008 wcf

我正在与大约10个客户开发基于LAN的计数器计费应用程序。基本上,1台服务器将安装SQL-Server Express,其中将存储所有计费详细信息。因此,现在所有10个客户端都将与服务器进行通信。然后是产品信息和账单。我是WCF的新手,从各种来源阅读有关WCF的一些文章。我认为NetTCPBinding对此有用!!!我的问题是“NetTCPBinding是否有利于此目的?”。我想保持简单。我需要为客户端应用PC和服务器应用PC编写不同的WCF服务以进行通信吗?

如果我的问题听起来很混乱,那么用简单的话说我想从我的LAN客户端PC插入和更新SQL-Server 2005表(安装在服务器上)以进行计费。我如何使用WCF ...

感谢

4 个答案:

答案 0 :(得分:2)

对于基于LAN的应用程序,我强烈推荐netTcpBinding,因为它明显快于基于HTTP的绑定(因为它以二进制而不是文本格式对消息进行编码),并且它支持所有功能,如会话,你可能想要的流媒体等。

唯一的小问题是,如果您使用netTcpBinding,则无法在IIS6(Win Server 2003/2003 R2)中托管您的WCF服务 - 您需要使用IIS 7(Win Server 2008或2008 R2) )或自我托管例如WCF服务Windows服务(适用于任何Windows Server操作系统版本)。

Juval Lowy在他的Programming WCF Services书( 标准书中介到高级主题)中有一个非常好的简单流程图,可以帮助您轻松选择最合适的绑定 - 找到它在此article by Juval

答案 1 :(得分:0)

每个MSDN:

NetTcpBinding默认生成运行时通信堆栈,它使用传输安全性,TCP用于消息传递和二进制消息编码。此绑定是系统提供的适当选择,可通过Intranet进行通信。

更一般地说,HTTP系统提供的绑定(如WSHttpBinding和BasicHttpBinding)配置为默认打开,而NetTcpBinding绑定默认情况下关闭,因此您必须选择加入以获得支持,例如,对于其中一个WS- *规范。这意味着TCP的默认配置在端点之间交换消息的速度要快于默认情况下为HTTP绑定配置的消息。

答案 2 :(得分:0)

我发现CodePlex指南在开始使用WCF时非常有用,因为它们提供了有关WCF所有方面的详细信息和说明,并提供了有关如何设置和配置不同方案的指南:

CodePlex Security Guide

您应该查看上页“第III部分 - Intranet应用场景”下的章节。

答案 3 :(得分:0)

我喜欢WCF的一个原因是HTTP和TCP之类的选择通常不是问题:如果你小心的话,更改绑定就像更新配置文件一样简单。

另一个需要注意的是,TCP绑定的编码会限制客户端与WCF服务器交互的内容。如果您想要支持非.NET客户端,那么您需要使用HTTP来确保通用功能。