Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 LAN客户端应用程序的哪个WCF绑定_Visual Studio 2008_Wcf - Fatal编程技术网

Visual studio 2008 LAN客户端应用程序的哪个WCF绑定

Visual studio 2008 LAN客户端应用程序的哪个WCF绑定,visual-studio-2008,wcf,Visual Studio 2008,Wcf,我正在开发一个基于局域网的计数器计费应用程序,大约有10个客户端。基本上,1台服务器将安装SQL server Express,其中将存储所有账单详细信息。因此,所有10个客户端都将立即与服务器通信,然后获取产品信息和账单。我是WCF的新手,从各种来源阅读了一些关于WCF的文章。我认为NetTCPBinding对于这个目的是很好的!!!。我的问题是“NetTCPBinding是否适合此用途?”。我想保持简单。还有一件事我需要为客户端应用程序PC和服务器应用程序PC编写不同的WCF服务以进行通信吗

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

如果我的问题听起来令人困惑,那么简单地说,我想从我的LAN客户端PC插入并更新SQL Server 2005表(安装在服务器上),以便计费。我如何使用WCF做到这一点


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

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

朱瓦尔·洛伊(Juval Lowy)在他的书中有一个非常好且简单的流程图(中高级主题的标准书),它可以帮助您轻松地选择最合适的装订-请在下面找到它。

每MSDN:

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


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

我发现CodePlex指南在开始使用WCF时非常宝贵,因为它们提供了有关WCF所有方面的详细信息和解释,关于如何设置和配置不同场景的指南:


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

我喜欢WCF的一点是,HTTP和TCP等选项通常都不是问题:如果您很小心,更改绑定可以像更新配置文件一样简单


另一个警告是,TCP绑定的编码将限制客户端与WCF服务器的交互。如果您设想必须支持非.NET客户端,您将希望使用HTTP以确保通用功能。

+1对于NetCpBinding,它比HTTP快,但对于这个特殊问题,这可能不会有太大的区别。好吧,不需要在内部使用慢速HTTP-如果您确实需要在外部使用,只需添加第二个支持HTTP绑定的端点,就可以了!内部客户端使用快速Nettcp,外部客户端连接到HTTP端点-WCF的优点,全部在配置中完成,完全没有代码更改。Nettcp速度更快的主要原因是它使用BinaryMessageEncoding而不是TextMessageEncoding,它比TextMessageEncoding快几个数量级,而且更紧凑。