如何在C#中的同一个应用程序的两个实例之间共享数据

时间:2013-01-08 06:41:05

标签: c#

  

可能重复:
  What is the simplest method of inter-process communication between 2 C# processes?

我需要在C#中开发一个Windows应用程序,其中将运行两个应用程序实例。一个将运行,另一个将处于待命状态。如果由于任何原因,第一个实例将挂起或停止工作,则第二个实例应该开始运行。

2 个答案:

答案 0 :(得分:2)

使用数据库。第一个实例将所有内容存储在数据库中(如果可能,使用事务,以确保数据始终处于一致状态)。然后,第二个实例可以从数据库中唤醒并读取最新状态。

答案 1 :(得分:1)

但是你处理数据是一回事。

执行您正在尝试的更常见的方法是使用监视程序进程。他是同一进程的第二个实例。相反,他会在第一个过程中听取心跳或其他内容。如果他确定第一个进程已经死了,那么他可以杀死它/启动一个新实例等等。