2

我有两个引用同一个类库的可执行文件。在类库中,我有一个静态变量。该静态变量如何保留在两个不同的可执行文件上?

这是它的外观:

public class MyClass
{
    public static string MyVar;
}

应用 1:

public class MyApp1
{
      public void SomeMethod()
      {
           MyClass.MyVar = "hello";
      }       
}

应用 2:

public class MyApp2
{
      public void SomeOtherMethod()
      {
           if(MyClass.MyVar == "hello")    
                DoSomething();
      }       
}
4

3 回答 3

8

没有内置的东西可以做到这一点。您是否希望静态变量在可执行文件的调用中也保持不变,或者只是在两者同时运行时?基本上,您正在查看“正常”的持久性机制(并考虑活性 - 检测一个进程何时需要重新加载其状态)。

我个人会尝试围绕这个进行设计,以避免甚至想要这样做。考虑使用两个应用程序与之通信的单独服务。

于 2009-06-01T08:43:50.963 回答
4

这听起来很愚蠢。
但是将其写入公共位置的文本文件并在需要时从中读取。

于 2009-06-01T09:01:21.053 回答
3

在 appdomains 之间共享数据的唯一方法是远程处理(WCF、.net 远程处理等)

于 2009-06-01T08:45:06.530 回答