[英]Communication between two c# applications
我有一个问题,在 C# 方面没有太多经验,所以我做了很多研究,但被卡住了。
我要做两个应用C#,第一个应用是windows窗体,第二个在后台运行,这样第一个应用会是一个(POS)销售点,需要与应用后台沟通信息为(产品,客户等...)并发送数据,所以不想使用网络服务来解决超时等问题,所以任何人都可以帮助我提出一些执行此任务的想法?
值得一提的是,后台应用程序将只有一个,而与之通信的 POS 应用程序将很多(n 个应用程序)。
进行进程间通信的方法有很多种。 由于问题太笼统,我将指出一些更常见的方法。
最优选的方式通常是 web-servcie 或 web-site 方式,具体取决于您的限制。
通常,您将使用消息队列来处理此类事情。 它们是确保关注点完全分离、减少和跨应用程序耦合的组件,旨在接收某些发布者的消息(从而使发布者免除任何进一步的责任),并将消息推送给某些订阅者。
RabbitMQ 是一个流行的框架: https : //www.rabbitmq.com/
(请注意,RabbitMQ(和其他现成的框架)有时会让新的应用程序程序员望而却步,因为他们处理了大量用例。但是,从一个应用程序写入队列并从另一个应用程序中的队列读取的基本概念真的是这里的关键......随意实现一个你自己的小实用程序作为学习经验,但如果你喜欢使用这样的框架,我确实推荐一个预先存在的框架)
一种方法是使用命名管道在不同程序之间进行此类通信。
如果你不想使用 web 服务(基于soap协议),你可以尝试使用web api。 通过这种方式,您可以使用 json 构建基于休息的接口(计算机之间的 json 流比 xml 流更快)。
我认为以下链接对您有用:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.