在两个应用程序之间共享数据

jol*_*lly 5 c#

像这样

public class MyClass { 
  public static instance = new MyClass();
 private List<int> idList; 
}
Run Code Online (Sandbox Code Playgroud)

. 我在两个不同的窗口应用程序中使用这个类。像这样MyClass.instance.IdList.Add(1);idList 中的所有数据我都存储在文件中并从该文件中获取信息。我正在一个应用程序中为 idList 添加值,我正在另一个应用程序中获取 idList 信息。但它没有在第一个应用程序添加的第二个应用程序中显示 idList 内容。如何实现这一目标?

Shr*_*and 6

以下是在应用程序之间共享数据的几种方法:

WCF 将是我执行此操作的首选方式,我将在此处添加一些解释

1) 使用 WCF - 托管具有以下功能的 WCF 服务[努力:中等]

//注意这里使用了发布者 - 订阅者模式(每个应用程序都会订阅该服务,该服务可以由某个端点上的所有应用程序托管,即 net.pipe://localhost/NotificationService (因为多个应用程序将尝试托管同样的服务只有一个会成功,这正是我们想要的)

void Subscribe(object);
void Unsubscribe(object);
Run Code Online (Sandbox Code Playgroud)

// 任何想要向列表中添加对象的客户端都会调用 Add

void Add(object objectToAdd);
Run Code Online (Sandbox Code Playgroud)

// 遍历每个订阅应用程序并发送列表更改的通知

void Notify();
Run Code Online (Sandbox Code Playgroud)

// 返回列表的当前状态

IEnumerable<object> GetYourList();
Run Code Online (Sandbox Code Playgroud)

2)剪贴板的使用 【努力:简单】

3) 使用文件系统 & 监听文件更改通知 [Effort: Simple]

4)内存映射文件 [努力:简单-中等]


eWo*_*olf 5

也许远程处理可以帮助您。它允许您让其他应用程序通过 Internet(或本地网络)访问您的服务器应用程序中的功能。所以代码在服务器应用程序上执行。这是一个例子:http : //www.codeproject.com/KB/IP/Net_Remoting.aspx


Pan*_*kaj 0

为什么不使用 xml 作为两个应用程序之间的中介。使用 XML 进行通信。