【发布时间】:2013-10-31 11:00:39
【问题描述】:
现在,我有一个像这样工作的程序。旧的遗留系统将一行放入数据库。该行是状态 0。我在 .Net 中有一个 Windows 控制台应用程序,它每 5 秒检查一次数据库,并向打印机发送打印命令。
这种架构确实消耗了大量运行控制台应用程序的计算机上的资源。本质上,有大量的空命令可以运行。仅偶尔将打印命令放入数据库中。然而,一旦数据库得到打印命令,程序就需要尽快处理它。
关于如何使这项工作更好的任何建议?我认为按需的东西可能会更好——即遗留系统向我的程序发送某种信号。不知道如何做到这一点。
任何帮助都会很棒。
【问题讨论】:
-
那是什么样的数据库? SQL Server有一些选项,其他的不知道;
-
如果可能,您可以将处理移至数据库并让插入触发器运行打印过程。
-
它的效率并不高,但每 5 秒检查一次记录会消耗大量资源,这似乎令人惊讶。你确定“咀嚼”没有发生在其他地方吗?
-
您可以使用桌子上的触发器来启动您的控制台应用程序。
-
你们能解释一下触发器的功能吗?我从来没有使用过它们。是的,它是 SQL Server 2005 安装。我还在想,如果遗留系统能以某种方式向程序发送信号,那会有所帮助。然后程序就坐在那里,处于休眠状态,直到它收到信号,然后唤醒并处理命令。这有意义吗?
标签: .net vb.net sql-server-2005 universe