如何在windows桌面服务和windows桌面应用程序之间实现通信

本文关键字:windows 桌面 之间 实现 通信 应用程序 服务 | 更新日期: 2023-09-27 17:59:55

我正在编写一个windows桌面服务,该服务应该每周从文件服务器下载内容,但它需要用户登录信息才能正常工作。

我需要该服务能够"回复"我开发的简单托盘应用程序,以便在发生事情时通知它。之类的东西

用户登录信息好吗?

内容是否开始下载?

内容下载完成了吗?

我看过WCF上的帖子,但一眼望去,WCF感觉就像是为绕过web服务而设计的。这将是一个桌面服务,而不是web服务,所以除非我的解释有误,否则我不认为WCF对我有用吗?我的选择是什么?(或者,如果我弄错了WCF,有人能给我指一个简单的教程吗?)

如何在windows桌面服务和windows桌面应用程序之间实现通信

您需要使用Socket或NamedPipe。通常,NamedPipe是首选,因为它不会触发一些监控环回接口的限制性防火墙。

命名管道示例

编写一个WCF服务,并在WCF服务的web配置(指定用户名和密码)中配置一个密钥。从windows服务传递相同的密钥并对其进行身份验证,一旦身份验证成功,下载文件

例如:http://www.codeproject.com/Articles/166763/WCF-Streaming-Upload-Download-Files-Over-HTTP