繁体   English   中英

进程间通信-现代选择?

[英]Inter Process Communication - Modern Options?

我正在开发具有Windows服务和用于配置和控制Windows服务的前端UI的系统。 不适使用.net 4.6。

该服务将产生多个服务器,用户可以通过UI创建,启动和停止这些服务器。

研究UI用来控制我的服务并从服务器接收状态信息的最佳方法。

从我的研究中,我发现了以下内容:

  1. SQLITE-创建一个UI写入命令的消息队列,服务器将定期读取并使用另一个消息队列进行响应。 不理想,因为它没有生命并且需要轮询系统。

  2. 命名/匿名管道-实时请求/响应。 是可行的,但是在处理与单个服务器通信的多个客户端时有点笨拙。

  3. WCF-实时请求/响应。 易于实现且易于操作,只不过用户需要担心为运行系统配置有效端口。

  4. 滚动我自己的通信协议-实时请求/响应,但同样的问题也适用于选择端口号。

今天的技术还有什么我想念的吗?

我实际上没有意识到WCF可以使用命名管道。 找到了理想的帖子。 易于实现,用户无需担心选择IP端口等问题。

https://stackoverflow.com/a/7833188/1680271

由于我们列出了所有选项,因此如何将MemoryMappedFile与EventWaitHandle结合使用

https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files

https://docs.microsoft.com/en-us/dotnet/standard/threading/eventwaithandle

与WCF比较的MemoryMappedFile + EventWaitHandle

https://www.techmikael.com/2010/02/blazing-fast-ipc-in-net-4-wcf-vs.html

Signalr和OWIN / Katana

https://docs.microsoft.com/en-us/aspnet/signalr/overview/deployment/tutorial-signalr-self-host

执行简单的HTTP POST / GET请求和响应,使用Signalr,您可以进行实时发布/订阅。 请参阅链接以获得良好的介绍。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM