- PR -

複数の他プロセスからの.NET Remotingによるアクセス

1
投稿者投稿内容
せんべい
ベテラン
会議室デビュー日: 2002/10/23
投稿数: 61
お住まい・勤務地: 神奈川県川崎市
投稿日時: 2005-10-28 17:55
現在、以下のようなRemotingによるプロセス間通信で
悩んでいます。

プロセス1:WinFormアプリケーション(Remoting Server)
プロセス2:コンソールアプリケーション(Remoting Client)
プロセス3:コンソールアプリケーション(Remoting Client)

プロセス2、3は通信をハンドルするプロセスで受けとった
値をそれぞれ1に渡そうと考えています。(そのように実装しました)

ところが、プロセス2で受け取った値をプロセス1に渡したのですが
プロセス3から1に渡したときにプロセス1の中でプロセス1の中に
あるはずの値が見れません。

ちなみにSingletonで設定しています。SingleCallにすればこのような
ことがありえるとおもうのですが・・・。

行き詰まっています。対処方法をご存知の方は
ご教授ください。

よろしくお願いします。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2005-10-28 18:08
引用:

せんべいさんの書き込み (2005-10-28 17:55) より:
プロセス2、3は通信をハンドルするプロセスで受けとった
値をそれぞれ1に渡そうと考えています。(そのように実装しました)

ところが、プロセス2で受け取った値をプロセス1に渡したのですが
プロセス3から1に渡したときにプロセス1の中でプロセス1の中に
あるはずの値が見れません。

ちなみにSingletonで設定しています。SingleCallにすればこのような
ことがありえるとおもうのですが・・・。


ちょっとなんだかよく分からないんですが、
プロセス1では渡された値をどのように保持しているんでしょうか?

見れない値というのは、プロセス3からアクセスされた際に、
前回のプロセス2からのアクセスで保存したはずの値が見れない、
という意味でしょうか?
それとも違う意味でしょうか?
せんべい
ベテラン
会議室デビュー日: 2002/10/23
投稿数: 61
お住まい・勤務地: 神奈川県川崎市
投稿日時: 2005-10-28 18:14
なちゃさんありがとうございます

1. WindowsFormのクラスファイルにstatic変数を宣言しています。
2. 別クラスを実装してその中で、static変数に格納するメソッドを実装している。
 (MarshalByRefを継承しています)

プロセス1では渡された値は1.のように保持しています。
2.のメソッドを用意してです。

>見れない値というのは、プロセス3からアクセスされた際に、
>前回のプロセス2からのアクセスで保存したはずの値が見れない、
>という意味でしょうか?

そういう意味です。やり方がまずいですかね・・・。
もしかして、別の方法をとったほうがよいでしょうか?



[ メッセージ編集済み 編集者: せんべい 編集日時 2005-10-28 18:15 ]
1

スキルアップ/キャリアアップ(JOB@IT)