【问题标题】:silverlight 3.0 communication with winformssilverlight 3.0 与 winforms 的通信
【发布时间】:2010-06-18 12:00:05
【问题描述】:

我想在客户端创建一个用于与 Silverlight 3.0 交互的 winform。基本思想是使用winform浏览器。我绝对需要两个沟通方向。使用 JavaScript 作为交互的中间件或其他更好的方法是不可能的吗?或者Silverlight 3.0有什么新特性支持这种winform应用通信吗? 原来的一个是客户端的浏览器运行,但现在我想将它迁移到 winform 应用程序。由于WPF和Silverlight之间的差距,为了节省时间,请不要提及WPF。

【问题讨论】:

    标签: c# javascript wpf winforms silverlight


    【解决方案1】:

    Silverlight 应用程序可以从 JavaScript 调用,反之亦然;类似地,WinForm 应用程序可以调用托管在浏览器控件中的 JavaScript,反之亦然……所以从技术上讲它是可能的。

    http://msdn.microsoft.com/en-us/library/cc645076(VS.95).aspx 显示 Silverlight 应用程序如何与 Javascript 来回对话,http://msdn.microsoft.com/en-us/library/a0746166.aspx 显示 WinForms 应用程序如何与 Javsscript(托管在浏览器控件中)来回对话。

    【讨论】:

    • 是的,我刚刚使用 webBrowser 和 javascript 编写了一个示例来模拟它们之间的双向通信,它似乎可以工作。无论如何,非常感谢。
    【解决方案2】:

    您的业务案例是什么?你真的需要这样做吗?我怀疑这将是一个痛苦的黑客攻击。比填补 WPF 的空白还要费时...

    【讨论】:

      【解决方案3】:

      在这种情况下,我宁愿选择迁移到 WPF。

      但如果你真的想用 WinForm 来做,你可以使用 socket 让 WinForm 和 Silverlight 相互通信。一些关键点:

      1. WinForm 必须是套接字服务器。
      2. 别忘了创建跨域访问策略文件
      3. 检查 Silverlight 的端口号以获取跨域访问策略文件和数据端口范围

      当然通过嵌入式浏览器控制Javascript也是一种选择。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        • 1970-01-01
        相关资源
        最近更新 更多