0

バックグラウンド タスクの実行に使用されるシステム トレイ アプリを作成したいと考えています。システムトレイアプリによって変更されたオブジェクトにアクセスする必要がある他の2つのプログラムがあり、それらはそれらを処理します。

多かれ少なかれ次のようになります。

トレイ アプリ ->バックグラウンドですべてを読み込みます

プログラム 1 -> Tray アプリ内でインスタンス化された「MyObject」に関する情報を表示します

プログラム 2 -> トレイ アプリ内でインスタンス化された「MyObject」のユーティリティ。別の場所にあるランダムなサーバーに接続して処理を行います。

しかし、私はすべてのリモーティングの概念について迷っています。

私はこれを使用しています:

RemotingConfiguration.RegisterWellKnownServiceType(commonInterfaceType, Constants.ServiceName, WellKnownObjectMode.Singleton);

しかし、それはインスタンスではなく、オブジェクト クラス自体への参照のようです。

アプリケーション内でオブジェクトを処理し、他のアプリケーションで使用できるようにするにはどうすればよいですか? データベースを使用したり、別のファイルで何かをシリアライズしたりしたくありません。

4

1 に答える 1

1

既存のインスタンスの 1 つを登録して Remoting で公開するには、次のようにします。

最初の呼び出し:

RemotingServices.SetObjecturilForMarshal(MarshalByRefObject, uri)

次に、次のオーバーロードのいずれかを呼び出します。

System.Runtime.Remoting.RemotingServices.Marshal(MarshalByRefObject)
System.Runtime.Remoting.RemotingServices.Marshal(MarshalByRefObject, String)
System.Runtime.Remoting.RemotingServices.Marshal(MarshalByRefObject, String, Type)

それはうまくいくはずです。

于 2011-01-25T15:15:05.150 に答える