WCF NetTCP绑定Internet

时间:2009-10-19 20:32:55

标签: wcf .net-3.5 wcf-binding

我有一个问题。我想提供一系列使用WCF的服务。使用服务的客户端也是带有WCF的.NET。我希望具有高速访问,快速响应,传输中小数据合同(主要.net基本数据类型)。分发将通过互联网进行,我正在寻找可靠性,可用性和基本安全性。

我不想使用WsHttp,因为我唯一的客户端基于.net,我将有近150个客户端请求服务。

您建议使用什么来绑定?有缺点,风险等吗?

提前致谢!

3 个答案:

答案 0 :(得分:8)

由于您计划使用简单类型和小数据合同,与使用互联网引入的延迟相比,您使用的绑定几乎无关紧要。所以,正确的答案是使用最容易管理和最安全的

我建议您在IIS中托管应用程序并使用wsHttpBinding并获取随之而来的所有可管理性。它也恰好是可互操作的,虽然今天无关紧要,但它只是免费的,为什么不呢?

并且,请考虑您的服务的粒度。您更了解您的客户,但在广泛的互联网上,会发生一些事情。因为互联网上的往返时间是可变的并且无法控制,所以可能需要几毫秒或几秒钟,或者可能根本不会到达那里。因此,如果可能的话,您应该减少具有更大负载的行程,并使用各种缓存和异步操作来使应用程序显示为“快速”。

答案 1 :(得分:6)

有关Juval Lowy选择绑定的好文章:

http://www.code-magazine.com/article.aspx?quickid=0605051&page=3

通常建议不要在互联网上使用net tcp绑定。没有听说过有人这样做过。虽然如果端口一直打开并且没有人阻止呼叫,它可能会起作用。

使用nettcp进行测试,如果它不起作用,您只需要更改配置。

最重要的是要考虑您的安全需求。你是否需要点对点,然后在ssl上进行basichttp。你需要端到端,然后wshttp与消息加密。

答案 2 :(得分:0)

根据您的场景,NetTcpBinding是选择的绑定。由于您确定客户端将是WCF,因此无需互操作性。

看看here in Programing WCF Services book

我唯一不确定的是防火墙。如果你必须得到论文的话,那么一些WS绑定可能更合适。