- - PR -
LoadFromしたら開放する必要がある?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-09-13 18:38
ad が使われていません。 サンプルコードが MSDN Libray に収録されてたはずなので、探してみてください。
そのとおりです。 異なる AppDomain に所属するクラスインスタンスのメソッド/プロパティを実行するためには、リモーティングが必要になります。 | ||||||||
|
投稿日時: 2006-09-13 18:41
アセンブリロードしただけでメモリが圧迫されるとしたら、各アセンブリが異常に大きくないですか?
インスタンスを数万〜数百万生成したというなら分かりますが。 ビルを建てようと敷地に各階の設計図を持ち込んだら、設計図がビルの体積と同じくらいあるので作業の邪魔に。みたいな感じが。。。 通常はそれほど気にする必要はないように思います。 | ||||||||
|
投稿日時: 2006-09-13 19:10
主にクライアントアプリケーションで使う場合などで、 アセンブリの使われ方によっては、節約したい場合もありますが、 サーバ環境では普通必要ないでしょう。 ※とんでもなく数が多いのならまた別ですが、それはそもそも その状況がおかしい可能性の方が大。 あと、何でLoadFromなんてしてるんでしょうか? 普通(特にASP.NET環境では)いらないと思いますが。 AppDomainを自分で使う方法は、ASP.NETなどの環境では普通やりません。 そもそも、そんなにごくまれにしか使われないアセンブリなんでしょうか? 複数ユーザがいろんな処理を実行することを考えると、いちいち AppDomain作って処理するほうがはるかにリソースの無駄になる可能性が 高いと思います。 加えて、AppDomainを使ったいろんな処理を目的どおり正しく実装するのは 割と敷居が高いです(ここら辺はかなり正確な知識が必要になります)。 聞いてやってみるレベルではたぶん無理です。 | ||||||||
|
投稿日時: 2006-09-13 19:13
>ad が使われていません。
ad.Load("Sample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"); ↑だと使ってないってことでしょうか? (一度、投稿したときにアップミスがあって編集してあります。) >サンプルコードが MSDN Libray AppDomainクラスのサンプルを見てみると、たしかに全然違いますね。 AppDomainSetupして、CreateDomainして、MarshalByRefTypeを生成? う〜ん、かなり勉強不足。。。 >通常はそれほど気にする必要はないように思います。 気にしなくてもいいところですかね? おそらく大丈夫だとは思っているのですが あとから、この仕組みだと無理だったってのは避けたいので 事前調査しています。 | ||||||||
|
投稿日時: 2006-09-13 19:17
>アセンブリの使われ方によっては、節約したい場合もありますが、
>サーバ環境では普通必要ないでしょう。 こころ強い一言です! >あと、何でLoadFromなんてしてるんでしょうか? >普通(特にASP.NET環境では)いらないと思いますが。 別スレッドで、LoadFrom系の質問をしていて、そちらには書いたのですが やろうとしていることは、実行時までアセンブリ名のわからない クラスの実行です。(プラグイン機能の実装です) >AppDomain作って処理するほうがはるかにリソースの無駄になる可能性が >高いと思います。 >聞いてやってみるレベルではたぶん無理です。 ↑な情報も助かります。 ご意見をまとめると、今回の場合はAppDomainを使用するのは、 メモリを万が一、圧迫する場合の最後の手段になりそうです。 | ||||||||
|
投稿日時: 2006-09-13 19:36
んなのしらねーよ。って言いたくなってきた。 |