- PR -

ASP.Net(VB.Net) Assembly

1
投稿者投稿内容
Raio
常連さん
会議室デビュー日: 2003/10/21
投稿数: 21
投稿日時: 2005-01-27 12:12
お世話になっております。

いくつか同じようなスレが合ったのですが
どうしても回答が分からないので質問させてください。

外部DLLの読み込みを行いたいのですが
System.Reflection.Assembly.LoadFileを使用することは分かりますし
テストも問題なく動作しているのですが

今回、IIS(Webシステム)にて、上記機能を使う場合に
=====================================================================
Function Execute(ByVal classname as string,ByVal methodname as string)
Dim asm As System.Reflection.Assembly = _
System.Reflection.Assembly.LoadFile("xxx.dll")

・・・・
  ・・・・
End Function
=====================================================================

とか記述すると思います。

質問としては、Webシステムでは、上記ロードが
サーバー上で複数回、アクセスがあるたびに発生してしまいます。

このことは、問題にはならないのでしょうか?
「何が問題になると思いますか?」といわれても具体的に無いのですが
メモリの使用方法など、何かしら問題はないのか?
Webシステムにて上記方法を行うことは、普通なのか?
というのがわかりません。

いろいろと調査やテストを行ったのですが、結論が出ませんでした。
分かる方がいらっしゃいましたら、ご回答いただけませんでしょうか?

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

Raioさんの書き込み (2005-01-27 12:12) より:

質問としては、Webシステムでは、上記ロードが
サーバー上で複数回、アクセスがあるたびに発生してしまいます。


どうやって確認しました?
本当にロードが複数回行われています?
もちろんコード上ではLoadFromが複数回「呼び出される」ことにはなりますが。

※ついでに、どちらかというとLoadでやる方が一般的な気もします。
nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2005-01-27 17:33
こんにちは。
引用:

外部DLLの読み込みを行いたいのですが
System.Reflection.Assembly.LoadFileを使用することは分かりますし



よく見るとLoadFileメソッドですが、このメソッドで読み込んだアセンブリはどういった目的で使用しているのでしょうか?MSDNを見ると分かると思いますが、このメソッドは.NET Framework1.1で追加されたメソッドで、「LoadFile は、ID が同じでパスが異なるアセンブリについて調べるという限られた目的にだけ役立ちます。」という特殊な目的に使われるメソッドです。

なちゃさんがおっしゃっているように、実行用に使用するならなるべくLoadメソッドを使ったほうがよいです。
パスを指定しなければならない場合はLoadFromを使用しますが、こちらはLoadに比べて遅いことや、名前が同じでパスが違うDLLを読み込んだ場合、後のDLLはデータファイルとして読み込まれてしまうという欠点もあります。

LoadFileを使用した際のメモリー等に対する疑問について明確な回答ではないですが(自分もそのあたりはよく知らない・・;;)、LoadFileメソッドを使っていることが気になったのでレスしました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-01-27 22:53
 質問の意図がよくわからないのですが。。。単純に考えると、Executeメソッドをコールする回数だけ呼ばれる、当たり前のことではないでしょうか?

 『サーバー上で複数回、アクセスがあるたびに発生』しているのところですが、

1.“このコードが実行される回数=アクセスした回数”の意味であるなら、まったくその通り。

2.“このコードが実行される回数!=アクセスした回数”であるなら、それぞれの回数の因果関係、またはアクセス時に実行される条件はわかりますでしょうか?

_________________
1

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