我在vb.NET中开发了一个处理条形码扫描的Windows窗体应用程序(条形码读取器设置在通讯端口上 - 应用程序将扫描的代码传递给处理扫描并返回的asp.net asmx Web服务应用程序的结果)。
该应用程序运行良好,但我的任务是允许在PC注销时使用条形码扫描仪。
我已经在vb.net(.net framework 4.5)中开发了一个原型windows服务,它将接受条形码扫描 - 目前这是将扫描写入Windows事件日志,但是这将连接到Web服务来处理扫描。
此服务正在PC注销。
我现在需要的是一个显示用户界面的应用程序 - 即我需要在扫描条形码时弹出一个窗口。我还希望能够“读取”服务正在处理的“条形码扫描仪”对象的集合,以便它们可以显示给用户。我还需要能够配置Windows服务(设置Web服务URL等)。
任何人都可以就实现这一目标的最佳方式向我提出任何建议吗? Windows可以将“推送”信息发送给“客户”吗?如果是这样,实现这一目标的机制是什么?
Windows服务是否可以公开方法(例如'GetScanners'或'GetLastScan')?你会如何设置它?
感谢您的任何想法/建议!
克里斯
答案 0 :(得分:0)
我建议使用以下两种方法之一:
第一种选择可以说是更好的选择。它可以更灵活地满足未来需求,提供与服务进行实时通信的方法。但是,WCF可能需要一个重要的学习曲线,因此如果您对WCF不熟悉且选项2满足您当前的需求,那么这不是一个糟糕的解决方案。
WCF的工作原理与Web服务类似,但功能更强大,可配置性更强。如果你需要像你建议的那样从windows服务公开像'GetScanners'这样的方法,那就是使用它的解决方案。