2008-11-07 89 views
24
  1. 我们目前只是利用soap web服务进行所有的沟通,但一直在考虑转向WCF。通过asmx服务使用它有什么好处?使用WCF有什么好处?

  2. 如果我们使用WCF服务,其他语言是否仍然可以与它通信? SOAP是标准化的,所有语言都可以与之交互。

  3. 有没有什么真正的好例子说明如何开始使用WCF来显示它对肥皂的好处?

编辑

回答

15
  1. 有一个位与WCF一个学习曲线,但一旦你了解它,它是没有难度比一个ASMX Web服务来实现。一个好处是你可以轻松地将协议和序列化从二进制远程切换到web protocols。在IIS或者外部托管也很容易。

  2. 其他语言可以与网络协议进行通信。二进制,没有那么多...

  3. 我刚刚钻进了Getting Started Tutorial。它在展示相对易用性方面做得很好。从那里,看看Hosting和更详细的Features

4

WCF不是SOAP的替代品,事实上,SOAP可以用作端点间通信的序列化格式。 SOAP标准也没有真正定义消息体中的内容,因此在WCF到WCF通信的情况下,使用了SOAP信封,但内容是二进制的,所以这是您的主要优势,至少在其中的表现。另一个优点是WCF的编程模型是或者至少是打算更直接的;特别是因为它听起来像你真的只是使用Web服务进行内部通信。在这种情况下,大部分工作都是预先配置终端(尽管在.NET中使用asmx WSDL显然非常简单)。

我不是WCF的专家,但我所知道的是来自Juval Lowy的.NET用户组演示文稿(他编写了O'Reilly WCF书籍),his site拥有相当数量的信息除了微软网站之外,参考资料部分中的屏幕录像和示例(您是否检查过Channel9?)。


4

根据问题中链接的this MSDN article,WCF支持的不仅仅是SOAP。它支持:

  • basicHttpBinding的
    互操作性Web服务和客户支持WS-BasicProfile 1.1和基本安全概要1.0。

  • WsHttpBinding的
    互操作性与支持WS- *协议,通过HTTP的Web服务和客户端。

  • WSDualHttpBinding
    双工HTTP通信,通过该初始消息的接收器不直接回复初始发送者,但也可通过依照使用HTTP与WS发送任意数量的在一段时间响应 - *协议。

  • WSFederationBinding
    HTTP通信,其中接入服务的资源可以基于由明确鉴定的凭据提供者签发的证书来控制。

  • NetTcpBinding的
    安全,在网络上WCF软件实体之间的可靠,高性能的通信。

  • NetNamedPipeBinding
    安全,可靠,高性能的WCF软件实体之间的同一台机器上的沟通。

  • NetMsmqBinding
    使用MSMQ WCF软件实体之间的通信。

  • MsmqIntegrationBinding
    一个WCF软件实体,并通过使用MSMQ另一软件实体之间的通信。

  • NetPeerTcpBinding
    通过使用Windows对等网络软件WCF实体间的通信。