完全重复: Why does Silverlight 2 only support WCF basicHTTP binding?
为什么只有basicHttpBinding与silverlight和wcf?也许你有一个涵盖这个的链接,你不必做一堆打字:+>
答案 0 :(得分:1)
几个答案:(1)Silverlight 4现在可以使用Net.TCP绑定,当它没有被阻止时会很方便,因为它的速度要快得多(详见here)。很明显,Silverlight架构中没有什么固有的东西阻止它使用其他绑定。
(2)至于为什么Silverlight没有使用其他基于WS * Http的绑定,这只是猜测,但如果这些绑定以Silverlight的方式使用HTTP协议,我不会感到惊讶可能出于安全原因,有限的HTTP堆栈不支持。例如,我知道Silverlight限制了您可以放在HTTP请求上的内容标头,如果任何WS- *协议需要自定义标头或可能代表安全风险的标头,MS就会想要阻止它。 / p>
(3)当然,MS也可能还没有完成它。他们在过去几年中对Silverlight做了很多工作 - 但可能他们必须优先考虑他们的功能。
答案 1 :(得分:0)
(编辑:找到了dup,现在链接有问题)
答案 2 :(得分:0)
我找到了几个链接,但没有明确的答案。类似Silverlight的气味是针对Web服务样式通信的ASMX Web服务而设计的,并且让WCF与期望ASMX Web服务的旧客户端一起使用的方法是使用basicHttp绑定。
此链接为您提供了一个完整的示例(使用Silverlight的Beta2) http://msdn.microsoft.com/en-us/magazine/cc794260.aspx
只要Silverlight应用程序具有basicHttpBinding类型的绑定,Silverlight应用程序就可以调用标准WCF服务。您必须确保将WCF服务的默认绑定从wsHttpBinding更改为basicHttpBinding,或者创建一个类型为basicHttpBinding的新绑定
此参考文献说同样的事情,但再次没有提供任何解释。 http://timheuer.com/blog/archive/2008/03/14/calling-web-services-with-silverlight-2.aspx
Silverlight使用BasicHttpBinding进行WCF通信