gpt4 book ai didi

c# - 从 Windows 服务接收通知

转载 作者:行者123 更新时间:2023-11-30 16:42:39 25 4
gpt4 key购买 nike

我用 C# 构建了一个由两部分组成的软件:一个是执行某些操作的 Windows 服务,另一个是托盘应用程序,用于向服务发送命令,同时从服务接收消息 并通知用户。

对于这种通信,我在 windows 服务中创建了一个 WCF 服务器 (NamedPipes),然后 Tray-Application 连接并“订阅”以接收消息。

为了让托盘应用程序接收来自服务的通知,它们之间的连接是DuplexChannel。在DuplexChanel中,客户端调用服务器,服务器可以执行客户端的方法。

但现在我明白了 DuplexChannel 并不是真正的目的(我的意思是长时间倾听客户端的声音):默认情况下,它会在一段时间不活动后关闭,并且在我设置好之后一种生产模式,它会在很长一段时间后关闭,或者可能是 sleep 模式等等。我放弃了尝试解决它造成的问题(也许我错了)。

问题:

什么是正确的 - 从 Windows 服务向同一台 PC 中的客户端软件发送消息的最佳方式,A. 长时间(只要计算机正在运行)B. 在某种程度上允许多个客户端(因为托盘应用程序启动多次,每个用户一次)。

最佳答案

你也可以使用 MSMQ .但 WCF 是要走的路。不要被有些复杂的概念吓跑,WCF 会为您处理繁重的工作。最大的挑战是配置,但归根结底 WCF 只是另一个通信 channel 。我推荐this还有这个tutorial .

关于c# - 从 Windows 服务接收通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46475462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com