WCF使用REST,有一些绑定问题

时间:2010-05-05 20:31:42

标签: wcf wcfserviceclient

我现在真的很困惑,我无法在任何地方得到任何正确答案。

我的困惑是:

1)是不是在SOAP中使用wsHttpBinging(增强了basicHttpBinding)而不是REST而REST只使用webHttpBinding?

2)另外,带有WCF(REST)的DOES silverlight 4是否支持wsHttpBinding(VS2010)?我读到它并不是网络上的任何地方,但我有一点是如何使用wsHttpBinding使用REST来处理REST。 注意:我使用的是Factory =“System.ServiceModel.Activation.WebServiceHostFactory”。这个工厂设置是否以某种方式绕过我的wsHttpBinding的web.config设置,使其与webHttpBinding一起使用,我想通过我的wsHttpBinding工作了吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

WCF默认使用SOAP - 除了webHttpBinding之外的所有绑定都使用SOAP。

如果您想要执行REST,则需要使用webHttpBinding

  

1)不是wsHttpBinging(这是   加强了basicHttpBinding)用于   SOAP而不仅仅是REST和REST   使用webHttpBinding?

是 - wsHttpBinding是基于SOAP的协议 - webHttpBinding是REST

  

2)此外,DOES silverlight 4与WCF   (REST)支持wsHttpBinding(VS2010)?

Silverlight 4支持basicHttpBinding(SOAP),netTcpBinding(SL4中的新增功能 - SOAP)和webHttpBinding(REST)。

  

注意:我正在使用   工厂= “System.ServiceModel.Activation.WebServiceHostFactory”。   是这个工厂设置不知何故   绕过我的web.config设置   wsHttpBinding使其可以使用   webHttpBinding和我在想   wsHttpBinding有效吗?

是的,如果您在SVC文件中使用WebServiceHostFactory,那么您实际上是隐式获得webHttpBinding(REST)。 WCF运行时将查看您的web.config for infos - 它具有使用WebServiceHostFactory时所需的所有信息和设置 - 并且您获得webHttpBinding