Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF轮询DuplexHttpBinding问题_C#_Wcf_Silverlight - Fatal编程技术网

C# WCF轮询DuplexHttpBinding问题

C# WCF轮询DuplexHttpBinding问题,c#,wcf,silverlight,C#,Wcf,Silverlight,我一直在看silverlight 2和3中提供的PollingDuplexHttpBinding,有几个问题我没有找到任何相关信息 我能用这个吗 非silverlight应用程序 从描述上看,它看起来不像是真正的轮询,而是维护一个打开的连接并在必要时重新连接。这是正确的吗 是否可以通过https使用此功能 据我所知,SL2中只有BasicHttpBinding可用 SL3引入了更多绑定功能: 所有这些都可以通过HTTPS工作,因为这是在您的enpoint上定义的: <bindings>

我一直在看silverlight 2和3中提供的PollingDuplexHttpBinding,有几个问题我没有找到任何相关信息

  • 我能用这个吗 非silverlight应用程序
  • 从描述上看,它看起来不像是真正的轮询,而是维护一个打开的连接并在必要时重新连接。这是正确的吗

  • 是否可以通过https使用此功能


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

    SL3引入了更多绑定功能:

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

    <bindings>
            <basicHttpBinding>
                <clear />
                <binding name="Service.Host.BasicHttpBinding.Secure">
                    <security mode="Transport" />
                </binding>
            </basicHttpBinding>
        </bindings>
    
    
    
  • 创建双工服务的目的是使用WCF,这意味着访问PollingDuplex服务(如adobe air或silverlight)的客户端必须支持绑定

  • 我不太熟悉这个绑定的内部工作原理,从我的经验来看,客户端一直在一个约定的端口上监听,等待初始调用后的回调,当客户端“轮询”服务器询问其是否完成时,轮询就会出现,服务器可以在哪里发送关于其状态的信息(可自定义)。在一天结束时,当服务器完成时,它将调用客户端

  • 是的,如果您要,请记住,https的跨域策略(必须在跨域策略中指定)


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

    不,SL2支持轮询DuplexHttpBinding。