none
PollingDuplex模式下,如何stop服务器端push数据 RRS feed

  • 问题

  • 我的应用场景是:有大量的数据需要从server端传到client端,所以要分批传输,当所有的数据传输完毕后,就关闭这个deplex WCF。

    2008年9月12日 2:23

全部回复

  • Felixyan你好!
    关于silverlight 3中使用deplex的wcf我的一篇文章,请参考:http://funsl.com/content/silverlight-3-wcf-%E5%8F%8C%E5%B7%A5%E9%80%9A%E4%BF%A1
    关于传输远成后关闭deplex服务这个问题,你可以通过remove指定的client去达到相同的效果。
    因为目前的deplex服务是基本web的,所以无法关闭服务的。

    如果此回复对你有帮助,请列为答案。谢谢
    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”
    2009年11月9日 7:21
    版主
  • 不懂,你这个关闭是Server触发还是Client触发? 你的意思是说服务器广播完吗?
    那直接关闭掉那个chanel就行了。
    2009年11月16日 9:07
  • 是的,你可以直接参考我的代码,在服务端删除指定的client实例后,服务端再也不会发信息到这个客户端了.
    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”
    2009年11月21日 11:44
    版主
  • 一般不建议用PollingDuplex push数据,现在这个东西还有很多BUG和问题。 服务端删除client实例,但是有时候那个多余的http连接却没有释放干净。

    有可能导致这个client再也连不上服务器。

    PollingDuplex是个不怎么好用的双工binding. 比NetTcp/wsDual 差得不是一点半点。如果一定要Push数据,一般建议还是使用Socket

    2009年11月27日 2:02
  • 如果你真的不起用pollingDuplex的话最近推出的sl4beta可能是你最好的选择。它支持原生的wcf的net.tcp binding.
    以下是我的一个在线demo:
    http://funsl.com/content/silverlight-4-%E8%81%8A%E5%A4%A9%E5%AE%A4-%E7%A8%8B%E5%BA%8F
    实现了一些功能。希望对你有提启发.


    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答” http://FunSL.com
    2009年12月5日 14:22
    版主