如何在Silverlight和桌面应用程序之间进行通信



我有 in-browser silverlight 5应用程序。需要使其与扫描仪一起使用。我对SL5应用程序有控制权,并且可以开发桌面应用程序(.NET)进行扫描部分。

如何将SL应用程序"交谈"到桌面应用程序?理想情况下,我认为如下:

  1. 我的"文档管理"就像您刚上传/下载文档时一样工作。
  2. 当用户想要扫描时-SL5启动一些导致桌面应用程序打开的过程(?)。
  3. 如果桌面上没有应用程序 - 它将带有说明并下载到网页。
  4. 打开桌面应用程序时 - SL应用程序将通过参数,设置等。
  5. 扫描文档时 - 桌面应用程序将将信息传递回SL应用程序

有什么方法可以使SL/WPF互相交谈?如何?

我以前已经在Silverlight应用程序中实现了扫描。它涉及创建ActiveX/DLL控件,并在托管.aspx页面中的Silverlight应用程序旁边托管。控件本身完全隐藏了,我只是使用它的方法来访问扫描仪并与本地文件系统一起使用。现在被授予,我必须使其成为一个值得信赖的站点,并且不允许控件访问客户端计算机。然后,您可以将JavaScript用作Silverlight代码和扫描控件之间的桥梁。要将图像传递回Silverlight,我只是将扫描的图像转换为Base64字符串,然后将其传递回JavaScript,然后转到Silverlight代码,然后最终将其传递回服务器并将其传递到图像存储库中。

是否可以从应用程序服务器"查看"扫描仪?我通过拨打与我的Silverlight应用程序在同一站点上托管的WCF服务并将其发送给文档来打印的成功。您需要管理一个将用户链接到设备的表。这可能意味着您根本不需要桌面应用程序,但是可以将该功能放在Silverlight应用程序中。显然,如果您要传递大型图像或有很多用户,从性能角度来看,这不是理想的选择。但是,在服务器上,您可以使用完整的.NET功能,这使事情变得非常简单。

本质上,桌面应用程序的UI在Silverlight中,胆量又回到了服务器上。

如果您找到了一种直接的方法,我很乐意听到它。

最新更新