Silverlight 4,浏览器外,打印,自动更新

时间:2010-06-06 22:29:55

标签: silverlight silverlight-4.0 printing zebra-printers

我目前使用Winforms运行一个非常关键的业务应用程序。

该应用程序是一个非常核心的UI shell。它接受输入数据,调用我服务器上的web服务进行计算,在winforms应用程序上显示结果,最后将打印流发送到打印机。

目前,使用Click-once部署应用程序。

继续前进,我正在考虑将应用程序移动到Silverlight应用程序中。几个原因我在想Silverlight。

  1. 让客户感觉它是基于云的解决方案。
  2. 可以从任何PC访问。虽然clickonce应用程序也能够执行此操作,但他们必须安装应用程序,并且当有可用更新时,他们必须单击“是”进行更新。
  3. 该应用程序目前有一个客户下拉列表,此列表已扩展到超过3000条记录。滚动列表非常痛苦。使用Silverlight,我正在考虑自动完成功能。
  4. 在浏览器之外 - 这对于每天使用该应用的用户来说非常方便。
  5. 我以前没有使用Silverlight,因此在一些事情上寻找一些专家建议:

    1. 打印 - silverlight允许将原始打印数据发送到打印机。该应用程序打印到Zebra Thermal标签打印机。我必须使用命令将原始字节发送到打印机。这可以用SL完成,还是总是提示“打印”对话框?
    2. 浏览器外 - 当SL应用程序安装为浏览器外,如何更新,应用程序是自动更新还是提示用户选择更新?

2 个答案:

答案 0 :(得分:4)

  1. 打印 - 使用PrintDocument API将提示用户输入打印对话框。目前使用该API无法抑制此问题。对于高容量的热情况(如药房,运输仓库等)而言,它并不理想。您可以使用受信任的应用程序模式并查看COM并使用打印机执行任何操作。

  2. 当应用程序请求更新时,会发生更新。有一个API可供使用,一旦调用,如果存在更新,则会下载 - 不作为选项提示用户。如果发现更新,您可以提醒用户重新启动,或者在下次重新启动时,他们将拥有更新的应用程序。

答案 1 :(得分:1)

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

不要试图听起来很消极,但总的来说,听起来你最好只是改进你已经拥有的应用程序。