2010-06-06 48 views
4

我有一个非常关键的业务应用程序目前运行使用Winforms。Silverlight 4,浏览器,打印,自动更新

该应用程序是一个非常核心的用户界面外壳。它接受输入数据,在我的服务器上调用web服务来执行计算,在winforms应用程序上显示结果,并最终将打印流发送到打印机。

目前该应用程序使用点击一次进行部署。向前迈进,我试图考虑我应该将应用程序移入Silverlight应用程序。几个原因我在想Silverlight。

  1. 让客户感觉它是基于云的解决方案。
  2. 可以从任何PC访问。尽管clickonce应用程序也可以这样做,但他们必须安装应用程序,并且当更新可用时,他们必须单击“是”才能更新。
  3. 该应用程序目前有一个客户下拉列表,该列表已扩展到3000多条记录。滚动列表非常痛苦。借助Silverlight,我正在考虑自动完成功能。
  4. 在浏览器外 - 这对于每天使用该应用的用户来说非常方便。

我没有使用以前的Silverlight,因此找上了一些东西一些专家的意见:

  1. 印刷 - 没有Silverlight的允许原始打印数据发送到打印机。该应用程序打印到Zebra Thermal标签打印机。我必须用命令将原始字节发送到打印机。这可以用SL来完成,还是会一直提示“打印”对话框?
  2. 在浏览器外 - 当SL应用程序作为浏览器外安装时,如何更新,应用程序是否自动更新或用户是否提示选择更新?
+0

热敏标签打印不应该是一个问题。看看这篇文章:http://neodynamic.wordpress.com/2011/01/03/how-to-print-barcode-labels-to-thermal-printers-from-silverlight/ – 2013-01-28 16:45:03

回答

4
  1. 打印 - 使用PrintDocument API,用户将被提示打印对话框。目前使用该API无法抑制这一点。它不适用于大容量散热情况(如药房,运输仓库等)。你可能使用可信任的应用程序模式,并偷看到COM并做任何你想要的打印机。

  2. 更新在应用程序询问时发生。有一个API可以使用,一旦被调用,如果存在更新,它将被下载 - 没有提示给用户作为选项。如果找到更新,您可以提醒用户重新启动,或者在下次重新启动时,他们将拥有更新的应用程序。

1

自动完成不是只能在Silverlight中完成的事情。您的ClickOnce应用程序已经不在浏览器中。通过原始字节打印到热敏打印机是Silverlight中不易设计的。

没有试图声音否定,但总而言之,听起来像你最好只是努力增强你已有的应用程序。