我有两个引用相同类库的可执行文件。在类库中,我有一个静态变量。 这个静态变量如何在两个不同的可执行文件上持续存在?
它的外观如下:
public class MyClass
{
public static string MyVar;
}
应用1:
public class MyApp1
{
public void SomeMethod()
{
MyClass.MyVar = "hello";
}
}
App 2:
public class MyApp2
{
public void SomeOtherMethod()
{
if(MyClass.MyVar == "hello")
DoSomething();
}
}
答案 0 :(得分:8)
没有任何内置功能可以做到这一点。您是否希望静态变量在可执行文件的调用中保持持久性,或者只是在两者同时运行时?基本上你正在研究“正常”持久性机制(并考虑活性 - 检测一个进程何时需要重新加载其状态)。
我个人会尝试围绕这个设计,以避免甚至想要这样做。考虑使用两个应用程序交谈的单独服务。
答案 1 :(得分:4)
这听起来很愚蠢 但是把它写在一个公共位置的文本文件中。需要时从中读取。
答案 2 :(得分:3)
分享应用程序域数据的唯一方法是远程处理(WCF,.net远程处理等)