[Seasar-s2dotnet 20] Re: アセンブリの解決について

sugi-k@mgw.ibsnet.co.jp sugi-k
2005年 7月 7日 (木) 13:41:52 JST


杉本です。
昨夜、太一さんとメッセンジャーで話したのですが、その内容を投げます。

S2.NETのAssemblyTableは廃止しようという話になりました。
アセンブリの取得、登録にはアプリケーションドメインを表すSystem.AppDomainを
使用します。

登録するアセンブリはアプリケーション構成ファイルで設定します。
標準でアセンブリの場所を指定したりする方法があるということで、こちらを
検証してみます。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconspecifyingassemblyslocation.asp

ここからはASP.NETの話です。

ASP.NETの動的アセンブリについては、EntryAssemblyでは取得できませんでした。
手元のASP.NETに対応したS2.NETでは、System.Web.IHttpHandlerのインスタンスか
ら
アセンブリを取得するようにしています。

ASP.NETでは、WebForm1 : System.Web.UI.Pageというクラスを作った場合、
動的アセンブリ内でのクラス名は、ASP.WebForm1_aspxになるので、
diconファイルにコンポーネントを定義するときに、注意が必要です。

ただし、@pageディレクティブのsrc属性で動的にコンパイルする分離コードクラス
を
指定した場合については、まだ試していません。

また、@pageディレクティブのclassName属性で動的に作成されるクラスのクラス名
を
指定することができるようです。ただし名前空間は含めることはできません。
これを指定すれば、クラス名を動的に決められるASP.WebForm1_aspxといったもの
から、
変えることができます。

以上、皆様ご意見下さい。(^^)/

seasar-s2dotnet-bounces @ lists.sourceforge.jp wrote on 2005/07/06 23:16:28:

> 太一です。

> > アプリケーション構成ファイルにアセンブリを定義しても良いかなと思います
。
> こちらの方が良いと思います。
> あわせて、コンテナのルートとなる.diconファイルを、
> 構成ファイルに設定する。と言うアイディアもかなり良いと思います。

> 但し、ASP.NETでは動的にアセンブリが生成されるので、
> EntryAssemblyを、検索先から外すのはちょっとイマイチかもしれません。



seasar-dotnet メーリングリストの案内