2

静的クラス/変数とDLLバージョンについて質問があります。

DLL(バージョン1)に静的変数があり、それをGACにロードする場合は、新しいバージョンのDLL(バージョン2)を作成し、GACにロードします。どちらかのバージョンが呼び出されると、メモリ内の同じ変数?

例:

  • IsAuthenticated = Trueクライアント1は、DLLのバージョン1に静的変数を設定します。
  • クライアント2は、同じ静的変数(IsAuthenticated)の値を取得しますが、DLLのバージョン2を参照しています。

名前空間は同じです。

IsAuthenticatedクライアント2がそれを呼び出すとき、真であるか/真である必要がありますか?

4

1 に答える 1

2

いいえ、両方のDLLが同じプロセスにロードされている場合でも、各(バージョンの)DLLにはすべての静的変数の独自のコピーがあります。そのようなプロセス間でメモリを共有すること(それが私の質問の解釈です)は、技術的な悪夢であるだけでなく、非常に悪い考えでもあります。

于 2012-09-28T08:14:13.663 に答える