2010-11-30 6 views
0

私はリモーティングに新たなんだが、私はいくつかのバックグラウンドタスクを実行するために使用されるシステムトレイアプリを作りたいです。私は、システムトレイアプリによって修正されたオブジェクトにアクセスする必要がある他の2つのプログラムを持っており、それらはそれらでいっぱいです。C#Remotingでオブジェクトインスタンスを保持することはできますか?

は、それがこのような多かれ少なかれです:

トレイアプリケーション - >負荷の背景にあるすべてのもの

プログラム1 - >は、トレイのApp

プログラム2内でインスタンス化 "MyObjectに" に関するいくつかの情報を表示します - 他の場所でランダムなサーバーに接続し、ものを行うトレイアプリケーション内でインスタンス化「MyObjectを」について>ユーティリティ、

しかし、私はすべてのリモート処理コンセプトに迷ってしまいました。私はこれを使用してい

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

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

はどのようにして、アプリケーション内のオブジェクトを処理し、他のアプリがそれを使用させることができますか?私はデータベースを使用したり、別のファイルで何かをシリアル化したりしたくない。既存のインスタンスのいずれかを登録し、次のように行うリモーティングでそれを公開する

+0

あなたにもWindows通信基盤を見たことがありますか?オブジェクトを照会するか、オブジェクトのメソッドを直接提示するための一連のサービスメソッドを提供するサーバーを用意することができます。 –

答えて

1

最初の呼び出し:

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) 

動作するはずです。

関連する問題