C# 在应用之间共享实例

本文关键字:共享 实例 之间 应用 | 更新日期: 2023-09-27 18:31:06

我有两个C#应用程序。 第一个创建对象的实例,设置一些属性等。

第二个应用需要访问此实例及其设置的属性等。

有没有办法做到这一点。 也许将实例存储在操作系统中或类似的东西中?

我发现我可以持久化一个对象,但第一个应用程序正在创建与低级接口的连接,这需要一些时间来连接。 我想保持该连接打开并让其他应用程序使用它。

C# 在应用之间共享实例

您需要一些进程间通信方式。回到"过去",这是通过 .NET 远程处理完成的,但该技术已被弃用。

Microsoft目前推荐用于进程间通信的 .NET 技术是 Windows Communication Foundation (WCF)。是的,有些人可能会争辩说,这对于简单的对象共享来说是矫枉过正的,但这是目前为此目的支持和推荐的技术。

可以在下面的 MSDN 文章中找到 WCF 和其他选项的高级概述:

  • 在 .NET 中选择通信选项

参考:.NET 进程间通信的最佳选择是什么?

进程间通信 WCF 是最佳选择。它支持 不同传输机制的数量(包括命名管道) 并且可以完全由配置驱动。我强烈推荐 你看看WCF。

引用:
如何从与桌面交互的应用程序与 Windows 服务通信?
2 个 C# 进程之间的进程间通信的最简单方法是什么?
用于.NET框架的简单进程间通信系统

您无法按说明执行此操作。没有两个应用程序可以跨应用程序边界共享内存。相反,当您将对象从一个传递到另一个时,它们将被序列化,如果您需要一个或另一个来响应更改,则应查看事件回调等。我建议为此研究 WCF 服务。