轻松共享/访问2个本地运行进程之间的单个变量(字符串)

时间:2014-03-25 23:09:13

标签: c# .net-4.0 visual-studio-2013 inter-process-communicat

2个本地和正在运行的应用程序: App#1定期(timer1 @ 30sec)将“ping”写入共享/“crossprocess”字符串。 如果共享字符串==“ping”,App#2会定期检查(timer2 @ 60sec)并用“pong”覆盖它。 作为计时器2> timer1 App#2将始终接收/读取字符串为“ping”。如果没有,那么我当然可以假设App#1崩溃/挂起并重新启动它。

我知道这可以通过剪贴板轻松完成......

Clipboard.Clear();
Clipboard.SetData("checkthis", "ping");
.
.
.
object clip = Clipboard.GetData("checkthis")
if (clip.ToString() == "ping")
{
    Clipboard.Clear();
    Clipboard.SetData("checkthis", "pong");
}

...但我认为使用剪贴板是一个非常糟糕的主意,因为用户可以轻松搞砸它。 还有其他解决方案像剪贴板一样易于使用吗?

2 个答案:

答案 0 :(得分:0)

我认为SO中的这个主题将帮助您解决问题。祝你好运!

Static members behavior with multiple instance of application - C#

答案 1 :(得分:0)

内存映射文件是一种方法:http://msdn.microsoft.com/en-us/library/vstudio/dd997372(v=vs.100).aspx将完成这项工作。

命名管道是另一个。

普通的文件工作。只需让每个进程在文件上放置FileSystemWatcher并监听更改。

相关问题