- PR -

[C#] AppDomain 及びプロセスについて

投稿者投稿内容
まかろに
常連さん
会議室デビュー日: 2005/06/17
投稿数: 41
投稿日時: 2006-04-05 16:56
引用:

じゃんぬねっとさんの書き込み (2006-04-05 14:39) より:

個々に起動して後付するようなイメージであれば、セキュリティの問題で無理でしょうね。





ほほぅ、なるほど。
てことは、プロセス間通信がベターということですね。

ちなみに、無理っていうのは .NET Framework 自体が
それを許さないような設計になってるからなんでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-05 21:34
 ファイルシステムが、そのまま C に該当するように思いますが?

 プロセス間で通信をしようとすると、そこに様々な“負荷”が発生しますよ?
 なお、標準で用意されている .NET Remorting は、TCP 通信です。

 あるいは、C が単独で、A または B という“顔”を持つように作るとか。
 これだと、C が引数によって A または B というリソースを読み込んで、表示用オブジェクトを作るようにします。または、A, B は C をキックするためだけのプロジェクトにします。

〆 written by Jitta@わんくま同盟 on 2006/04/05
□ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006
まかろに
常連さん
会議室デビュー日: 2005/06/17
投稿数: 41
投稿日時: 2006-04-06 02:46
引用:

Jittaさんの書き込み (2006-04-05 21:34) より:
 ファイルシステムが、そのまま C に該当するように思いますが?

 プロセス間で通信をしようとすると、そこに様々な“負荷”が発生しますよ?
 なお、標準で用意されている .NET Remorting は、TCP 通信です。




確かに色々調べてるんですが、リモート処理は重そうな印象を受けます。
世間のリソースを共有するアプリってその辺どうしてるんでしょうね・・・

引用:


 あるいは、C が単独で、A または B という“顔”を持つように作るとか。
 これだと、C が引数によって A または B というリソースを読み込んで、表示用オブジェクトを作るようにします。または、A, B は C をキックするためだけのプロジェクトにします。

〆 written by Jitta@わんくま同盟 on 2006/04/05
□ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006



す、すいません。ここのところが僕の脳みそでは理解できませんでした orz
もう少し噛み砕いて説明していただいてもいいでしょうか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-06 06:30
引用:

まかろにさんの書き込み (2006-04-06 02:46) より:

引用:


 あるいは、C が単独で、A または B という“顔”を持つように作るとか。
 これだと、C が引数によって A または B というリソースを読み込んで、表示用オブジェクトを作るようにします。または、A, B は C をキックするためだけのプロジェクトにします。



す、すいません。ここのところが僕の脳みそでは理解できませんでした orz
もう少し噛み砕いて説明していただいてもいいでしょうか?


アプリケーションは、C だけ。A および、B という、クラスライブラリを作る。
「DLL に定義した Form を表示する」というようなスレッド参照。

「多重起動しない」方法で、C は多重起動をせず、1つのプロセスで、複数の Form インスタンスを起動する。

Form A と Form B のどちらを起動するかは、引数により指定する。
c.exe /a とか、 c.exe /b とか。


という方法で、あたかもアプリケーション A と B が、リソースを共有しているように見えますよね。

〆 written by Jitta@わんくま同盟 on 2006/04/06
□ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006
まかろに
常連さん
会議室デビュー日: 2005/06/17
投稿数: 41
投稿日時: 2006-04-06 11:00
引用:

Jittaさんの書き込み (2006-04-06 06:30) より:

アプリケーションは、C だけ。A および、B という、クラスライブラリを作る。
「DLL に定義した Form を表示する」というようなスレッド参照。

「多重起動しない」方法で、C は多重起動をせず、1つのプロセスで、複数の Form インスタンスを起動する。

Form A と Form B のどちらを起動するかは、引数により指定する。
c.exe /a とか、 c.exe /b とか。


という方法で、あたかもアプリケーション A と B が、リソースを共有しているように見えますよね。

〆 written by Jitta@わんくま同盟 on 2006/04/06
□ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006


あ〜 そういうことですか、なるほど・・・そういう考え方もありですね。

もうちょっと勉強しながら設計をじっくり考えてみます。
じゃんぬねっとさん、Jittaさん、大変参考になるご意見
ありがとうございました!

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