首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在.NET核心中处理工控机?

如何在.NET核心中处理工控机?
EN

Stack Overflow用户
提问于 2019-10-24 22:11:29
回答 1查看 11.3K关注 0票数 21

在过去的.NET框架项目中,我们的主要应用程序作为Windows运行,我们使用WCF NetNamedPipeBinding与WPF前端应用程序进行通信。由于WCF不会是.NET核心的一部分,我应该如何处理进程间的通信?新应用程序(辅助服务)需要处理典型的RPC并将数据推送到另一个进程。

我正在考虑以下几点:

  1. 有名字的管道。这是可行的,但是这些实际上是API中的流。处理流和建立协议似乎很痛苦。
  2. gRPC,但这需要将许多数据模型转换为protobuf,这是不可取的。
  3. SignalR,但这需要在我的服务中托管一个ASP.NET核心应用程序。似乎有点过火了。

任何见解或替代将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2020-04-20 10:58:53

最近我会考虑三种低努力的选择:

MessagePipe (新)

MessagePipe是一种适用于.NET和统一的高性能内存/分布式消息传递管道,它支持所有的Pub/Sub使用、CQRS的中介模式、棱镜的EventAggregator (VM解耦)、IPC(进程间通信)-RPC等。

代码语言:javascript
运行
复制
- Dependency-injection first
- Filter pipeline
- better event
- sync/async
- keyed/keyless
- buffered/bufferless
- singleton/scoped
- broadcast/response(+many)
- in-memory/interprocess/distributed

MessagePipe比标准的C#事件快,比棱镜的EventAggregator快78倍。“

还没有尝试过,但这位作者是.NET的传奇人物。

gRPC:

对于较大的项目,您可以使用可视化ReCode自动将项目从WCF转换为gRPC。我在这个项目上的经验有限,但看起来很有希望,gRPC绝对是未来……

ServiceWire:

ServiceWire是一个非常轻量级的IPC/RPC库。跨平台,支持TCP/IP &命名管道通道。疯狂的快速和易于使用-简单地添加可序列化的所有类,需要通过电线发送。我真的很喜欢这个框架。

唯一的缺点是:

  • 不支持SSL,但拥有加密和自动压缩功能。
  • 没有.NET核心标准DI支持,但它的服务器实现使得这不是一个问题
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58549763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档