C# 在不同AppDomain中使用的类的静态变量
我有两个引用同一类库的可执行文件。在类库中,我有一个静态变量。 静态变量如何在两个不同的可执行文件上保持不变 这就是它的样子:C# 在不同AppDomain中使用的类的静态变量,c#,appdomain,C#,Appdomain,我有两个引用同一类库的可执行文件。在类库中,我有一个静态变量。 静态变量如何在两个不同的可执行文件上保持不变 这就是它的样子: public class MyClass { public static string MyVar; } 应用程序1: public class MyApp1 { public void SomeMethod() { MyClass.MyVar = "hello"; } } 应用程序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();
}
}
这里面没有内置的东西。您希望静态变量也在可执行文件的调用中保持不变,还是在两者同时运行时保持不变?基本上,您看到的是“正常”的持久性机制(并考虑活动性——检测一个进程何时需要重新加载其状态)
我个人会尝试围绕这一点进行设计,以避免甚至想要这样做。考虑有一个单独的服务,这两个应用程序都是用来交谈的。 < P>共享数据域的唯一方法是远程处理(WCF,.NET Relation等) < P>这听起来很愚蠢。 但将其写入一个公共位置上的文本文件,并在需要时从中读取