我有一个问题,在 C# 方面没有太多经验,所以我做了很多研究,但我陷入了困境。
我必须制作两个C#应用程序,第一个应用程序是Windows窗体,第二个应用程序在后台运行,这样第一个应用程序将是一个(POS)销售点,需要与应用程序后台通信以获取信息,如下(产品、客户等...)并发送数据,所以不想使用网络服务来解决超时等问题,所以任何人都可以帮我想出一些想法来执行此任务吗?
值得一提的是,后台应用程序只有一个,而与其通信的 POS 应用程序将有很多(n 个应用程序)。
最佳答案
进行进程间通信的方法有很多种。由于问题很笼统,我将指出一些更常见的方法。
- 后台进程可以是一个 Windows 服务,它更新数据库,POS 系统查询数据库以检索它们需要的内容。即使后台进程从同一个数据库读取数据,您也可以拥有一个单独的表,其中包含“已完成”信息,可供 POS 件拾取。现在您也可以使用文件而不是数据库来存储完成的结果,但大多数人更喜欢数据库。
- 您可以使用 WCF channel 在 POS 部件和后台进程之间建立通信。
- 您可以将后台进程转换为网络服务,并让您的 POS 使用 XML 进行通信。我认为任何超时问题都不应该成为问题。您必须更好地解释是什么超时问题导致您不使用此选项。
- 您可以将整个作品转换为一个网站,然后 POS 将只是一个浏览器
- 您可以使用 Tibco 或 MQ 等总线来传递数据。
- 或者您可以采用 TCP 套接字的老式方式。
最优选的方式通常是网络服务或网站方式,具体取决于您的限制。
关于c# - 两个 C# 应用程序之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36458533/