【问题标题】:Communication between a .Net desktop application and a Silverlight application in browser.Net 桌面应用程序和浏览器中的 Silverlight 应用程序之间的通信
【发布时间】:2012-10-30 04:39:11
【问题描述】:

我们有一个在用户桌面上运行的 .Net 应用程序和另一个在同一桌面上的浏览器中运行的 Silverlight 应用程序。我需要将一些数据从桌面 .net 应用程序传递到浏览器上的 Silverlight 客户端。根据 .Net 应用程序发送的数据,Silverlight 客户端需要调用 Web 服务并将结果显示在 Silverlight 客户端上。 你能给我可能的选择来实现这一目标吗? 谢谢!

【问题讨论】:

    标签: .net silverlight client-side-scripting client-side-data


    【解决方案1】:

    我认为可以在您的桌面应用程序中托管 WCF 双工服务,您可以与 silverlight 应用程序通信,或者您可以使用代理向 silverlight check SignalR 发送推送通知

    【讨论】:

    • 我不能使用 SignalR,因为使用 Silverlight 客户端的应用程序是专有应用程序,我不允许将 SingnalR 服务器添加到景观中。相反,我正在考虑创建一个 ActiveX 控件,该控件驻留在运行 Silverlight 应用程序的浏览器上。然后我的 .net 桌面应用程序调用引发 ActiveX 事件的 ActiveX 接口。向 Silverlight 应用程序添加一些 Javascript 编码,以响应客户端的 ActiveX 事件。这行得通吗?
    • 当我在浏览器中运行 ActiveX 时,桌面应用程序无法访问 ActiveX 方法。因此,我构建了一个从 ActiveX 控件启动的 HTTP 服务器,并让桌面通过参数化 URL 与 HTTP 服务器通信。此 http 服务器在 localhost 中运行。如果从浏览器中的常规 HTML 文件加载 ActiveX,我可以运行 ActiveX 并让 HTTP 服务器监听来自桌面应用程序的调用。现在的问题是,Silverlight 不支持 HTTPListener。所以我无法从 Silverlight 应用程序中运行的 ActiveX 启动 HTTP 服务器。有什么替代方法吗?
    猜你喜欢
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多