6

我正在开发我的窗口应用程序,并且正在使用一些静态成员。

public class MyParameter
{
    public static string connectionString = "...";
}

现在,如果我在计算机上安装我的应用程序并打开同一应用程序的两个实例。'connectionString' 是否对两个实例通用?或者每个实例都有它的 connectionString ?

4

3 回答 3

9

变量是否静态是应用程序内存的一部分。当您打开应用程序的 2 个实例时,您会在操作系统中创建两个不同的内存位置,因此这两个变量之间根本没有任何关系。

如果要创建一个(关系),则必须查看操作系统中可用的不同 IPC(进程间通信)方法,例如:

于 2013-06-24T09:50:58.667 回答
4

不,每个应用程序实例都使用 AppDomain 相互隔离。因此,每个应用程序实例将在单独的 AppDomain 中运行,并且无法访问来自其他域的变量。要与不同的域进行通信,我们需要使用 Remoting , WCF 服务

于 2013-06-24T10:03:26.820 回答
3

每一个实例。

静态成员是按每个分配的AppDomain。如果您要从当前的中产生一个新AppDomain的..它们会有所不同。

于 2013-06-24T09:52:26.687 回答