像这样
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 内容。如何实现这一目标?
以下是在应用程序之间共享数据的几种方法:
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)内存映射文件 [努力:简单-中等]
也许远程处理可以帮助您。它允许您让其他应用程序通过 Internet(或本地网络)访问您的服务器应用程序中的功能。所以代码在服务器应用程序上执行。这是一个例子:http : //www.codeproject.com/KB/IP/Net_Remoting.aspx
| 归档时间: |
|
| 查看次数: |
12822 次 |
| 最近记录: |