wsHttpBinding和ws2007HttpBinding有什么区别?

时间:2009-02-27 14:29:40

标签: wcf wshttpbinding

在MSDN上,我们可以阅读:

  

WS2007HttpBinding类添加了类似于WSHttpBinding的系统提供的绑定,但使用了ReliableSession,Security和TransactionFlow协议的结构化信息标准促进组织(OASIS)标准版本。使用此绑定时,不需要更改对象模型或默认设置。

但我没有找到任何可以解释我的文档为什么我想将wsHttpBinding移动到ws2007HttpBinding,在我看来标准是相同的。

有人可以给我一个很好的解释吗?

4 个答案:

答案 0 :(得分:7)

绑定支持不同的协议。 This page on MSDN实际上有一个很好的矩阵,可以解释WCF中哪个绑定支持哪些协议。因此,如果您需要与实现OASIS协议的服务/客户端互操作,请使用ws2007httpbinding绑定,否则,没有理由不使用wshttpbinding。

如果您想了解不同协议的详细信息,请查看他们的网站:WC3OASIS。我确信有大量资源可以突出这些协议的差异。

不同的大型企业和governments需要使用Web服务并且具有不同的要求。因此,不同的标准是有道理的。

答案 1 :(得分:3)

从OReilly的书“编程WCF服务”(第28-29页)中,他们说Ws2007HttpBinding来自WsHttpBinding。它增加了对新兴标准和交易,安全性和可靠性标准更新的支持。

答案 2 :(得分:2)

使用最新标准听起来是一种很好的做法,但请记住,只有运行至少.NET运行时版本3.5 SP1或3.0 SP1的客户端才支持WS2007HttpBinding。

答案 3 :(得分:2)

由OASIS定义的ws2007HttpBinding是比wsHttpBinding更新的版本。

它在wsHttpBinding的事务,可靠消息传递和WS-Addressing协议之上添加了ReliableSession,Security和TransactionFlow协议。

从简单绑定开始可能更容易,如果将来需要,您可以始终在与旧版本共存的较新绑定中公开现有服务。