2009-02-02 150 views

回答

4

对我来说,通过SOAP,WS *,TCP,MSMQ,命名管道或其他任何传输方式进行通信的代码是相同的。

2

一个主要的优点是WCF允许为开发人员提供单一一致的Windows通信技术访问权限,从而使SOA应用程序更容易开发。微软已经抽象了很多管道工作,以实现这一点。

一个缺点是,WCF是微软实施的SOA,因此它的API完全由MS控制,这使得互操作性有点困难。 另外,为了部署WCF应用程序,您将需要运行WCF应用程序的平台上的更多底层硬件资源,因为还有一个额外的抽象层需要处理。

2

优势

  • 它做了很多不同的组件,所以你可以创建安全,运输新的组件,认证
  • 它的速度比ASMX
  • 支持缩放/负载平衡
  • 其互操作性,适用于java等等..

缺点 - 了解所有不同传输类型/安全规范的学习曲线。

如果你想要的东西更快,你就必须去TCP层

编辑也是其难以得到认真处理并发做连接的客户端

0

我发现它很容易建立和学习。我有一个Web服务在几个小时内运行,没有任何使用WCF的经验。我现在可以在几分钟内完成。

这样做的缺点是我对web服务几乎一无所知。这可以在以后转过身来咬你。根据对事物如何工作的错误假设,很容易做出错误的设计决策。例如,维护服务类中的状态非常容易,但这会在稍后导致缩放问题。

1

我不认为除了必须使用WinStack之外,应该有内在的权衡。 WCF是应该更换两个.NET远程和沼泽标准的Web服务(或者更确切地说,WCF还可以做Web服务)

6

主要优势:一旦你在学习曲线,WCF使得它比较容易暴露和消费软件组件。即将组件烘焙功能添加到WCF服务合同中,开发人员可以通过更改主机和配置信息来在单个框中跨Windows内部网或整个互联网跨进程公开同一组件。同样,所述组件的客户也很容易在任何这些场景中使用它。

主要缺点:学习曲线。当许多开发人员开始研究WCF时,WCF似乎非常令人望而生畏。我试图进入Juval Lowy的“编程WCF服务”做了几次错误的尝试。尽管我发现一旦我开始真正创建和使用组件,理解变得很快。

记住关键的一点是,WCF让你写了一些不错的功能代码的,它包装成你就可以比较容易地使用几乎只用在任何地方有关的安全性,可靠性和耐用性的任何数量的组件。

与我们之前被迫使用的相比,WCF是fantasitc!

1

优点是SOA应用程序的标准体系结构。您可以自定义体系结构的组件以启用与任何类型的非Windows客户端的连接,但是存在陡峭的学习曲线。