【问题标题】:How to share data between two instances of the same application in C# [duplicate]如何在 C# 中同一应用程序的两个实例之间共享数据 [重复]
【发布时间】:2012-12-21 23:36:51
【问题描述】:

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

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

【问题讨论】:

  • 发布问题时请阅读Check list
  • @Azodious,我认为这不是那个问题的重复。
  • @zmbq:这个问题需要更加清晰,这就是为什么在开始时添加可能的原因。 :-)

标签: c#


【解决方案1】:

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

【讨论】:

  • +1。完成 - 让故障转移数据库服务器处于备用状态。
  • 等等,我们现在不就是在万能的云端做所有事情吗?
  • 我们有,这就是为什么您需要在第二个云中的第二个实例...
【解决方案2】:

如何处理数据是一回事。

一种更常见的方式来做你正在尝试的事情是有一个看门狗进程。他不是同一进程的第二个实例。相反,他在第一个过程中听到心跳或其他声音。如果他决定第一个进程已经死了,那么他可以杀死它/启动一个新实例,等等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    相关资源
    最近更新 更多