c# - 两个 C# 应用程序之间的通信

标签 c# web-services communication

我有一个问题,在 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/

相关文章:

c# - 使用 C# 对 MS office 进行编程 - 可能吗?

c# - 如何在 WCF 中配置多个服务端点?

java - 如何使用 postman 休息客户端将发布请求发送到以下发布方法

java - 在 C 上工作的 send() 套接字,但从 bufferedReader 读取的 Java 没有得到响应

.net - 在 .NET 中的程序之间进行通信的最佳方式是什么?为什么?

Android - getTargetFragment 和 setTargetFragment - 它们的用途是什么

c# - 在 C# 中使用 FTP 复制文件

c# - 重复 session ID

c# - 什么时候必须在 C# 中使用 extern alias 关键字?

web-services - 如何在 Windows Server 2012 r2 上调试 NTLM 身份验证