WCF PollingDuplexHttpBinding问题

时间:2009-06-10 17:58:37

标签: c# wcf silverlight

我一直在查看Silverlight 2和3中提供的PollingDuplexHttpBinding,并且有一些我无法找到任何信息的问题。

  1. 我可以使用它吗? 非Silverlight应用程序?
  2. 从描述中看,它似乎不是实际轮询,而是保持打开连接并根据需要重新连接。这是对的吗?

  3. 是否可以通过https?

  4. 使用它

3 个答案:

答案 0 :(得分:1)

  1. 创建双工服务的目的是使用WCF完成,这意味着访问PollingDuplex服务的客户端(例如adobe air或silverlight)必须支持绑定。

  2. 我不太熟悉这个绑定的内部工作方式,从我seen开始,客户端一直在听一个约定的端口,等待初始调用后的回调,轮询进入时客户端“轮询”服务器询问它是否已完成,服务器可以在其中发送有关其状态的信息(可自定义)。在一天结束时,当服务器完成时,它将调用客户端

  3. 是的,如果您打算,请记住,https的跨域策略(必须在跨域策略中指定)

答案 1 :(得分:1)

我刚刚完成了SL4和这个绑定的一些工作,它从客户端进行轮询,它是“假的”双向通信。 (您将看到服务器必须在每次轮询时返回多少消息的配置设置)如果您想要真正的bidrection调用,则必须使用net.tcp。

答案 2 :(得分:0)

据我所知,只有BasicHttpBinding在SL2中可用。

SL3引入了更多绑定功能:http://www.silverlight-travel.com/blog/2009/05/18/wcf-binary-bindings-in-silverlight-3/

所有这些都可以通过HTTPS工作,因为这是在您的要点上定义的:

<bindings>
        <basicHttpBinding>
            <clear />
            <binding name="Service.Host.BasicHttpBinding.Secure">
                <security mode="Transport" />
            </binding>
        </basicHttpBinding>
    </bindings>