1
    private static List<string> _Process;
    public List<string> Process
    {
        get { return _Process; }
        set { _Process = value; }
    }

    private static string _IDsCombination;
    public string IDsCombination
    {
        get { return _IDsCombination; }
        set { _IDsCombination = value; }
    }

    private static int _QCID;
    public int QCID
    {
        get { return _QCID; }
        set { _QCID = value; }
    }

上記のように、いくつかの静的変数を作成しましたが、それらはすべてのユーザーに対して同じメモリを共有していますか。

4

2 に答える 2

1

簡単な答え: はい。

長い答え: 静的メンバーはアプリケーション ドメイン全体で共有されます。

1 つのサーバー上の 1 つの Web アプリケーションだけで Web サイトを実行している場合は、yes . これは、小さな Web アプリケーションでは一般的です。

ただし、複数のサーバー/Web アプリケーション (Web ファームなど) で実行している場合、それらはそれらの間で共有されません(inProc セッションが共有されないのと同様)。この種の環境で実行している場合は、データベースやキャッシュ サーバーに保存するなど、他のソリューションを検討する必要があります。

また、これを行う場合は、アクセスをスレッドセーフにする必要があります。参照:マルチスレッド (MSDN)。この特定の例では、ReaderWriterLockまたはMutex

于 2013-10-23T09:46:33.083 に答える
0

はいコードはサーバー上で実行され、すべてのユーザー間で共有されるため

于 2013-10-23T09:51:19.270 に答える