2009-06-01 9 views
2

同じクラスライブラリを参照する実行可能ファイルが2つあります。クラスライブラリで私は静的変数を持っています。 その静的変数は、2つの異なる実行可能ファイルでどのように持続できますか?異なるAppDomainsで使用されるクラスの静的変数

これは、それがどのように見えるかです:

public class MyClass 
{ 
    public static string MyVar; 
} 

のApp 1:

public class MyApp1 
{ 
     public void SomeMethod() 
     { 
      MyClass.MyVar = "hello"; 
     }  
} 

のApp 2:

public class MyApp2 
{ 
     public void SomeOtherMethod() 
     { 
      if(MyClass.MyVar == "hello")  
       DoSomething(); 
     }  
} 

答えて

8

これを行うには、組み込みのものは何もありません。静的変数を実行可能ファイルの呼び出し間で永続させたいのですか、または同時に両方が同時に実行されている間、静的変数を永続させたいでしょうか?基本的には、 "通常の"永続性メカニズム(そして、活力を考え、あるプロセスがいつ状態をリロードする必要があるかを考えている)を見ています。

私は個人的にこれを回避しようとすることを避けるために設計しようとします。両方のアプリが代わりに話す別々のサービスを持つことを検討してください。

3

アプリケーションドメインbetwinデータを共有するための唯一の方法リモーティングされる(WCF、.NETリモートまたは等)

4

これは愚かに聞こえるであろう。
しかし、必要に応じてそれを読む共通の場所&のテキストファイルに書き込みます。

+1

あなたが考えるように愚かではない! ;) – IAbstract