【问题标题】:Static members behavior with multiple instance of application - C#具有多个应用程序实例的静态成员行为 - C#
【发布时间】:2013-06-20 18:53:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# static static-members


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      每个实例。

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-08
          • 1970-01-01
          • 2022-08-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-23
          相关资源
          最近更新 更多