[Seasar-s2dotnet 79] ASP.NETでのdiconファイルパス指定について
m.okuyama
e_starbucks
2005年 10月 28日 (金) 15:32:57 JST
こんにちは奥山です。
以前はASP.NET環境でのトランザクション機能の利用でお世話になりました。
現在もS2dotNetをASP.NETで動作検証しているのですが
以下、2点ほど質問がありましてメールいたしました。
※検証対象リソースはs2-dotnet-1.0.0-beta11です。
【質問1】diconファイルのinclude要素に指定するpathについて
S2Container.NETのリファレンスを見ますと、includeに指定するPathは
相対パス、絶対パス両方とも可能であると記載がありますが、
ASP.NETの場合、相対パスを指定すると次のエラーが発生します。
「呼び出されたメソッドは、動的モジュールではサポートされていません。」
ASP.NETの場合は相対パス指定は不可能なのでしょうか?
--当該エラーのスタックトレース
[NotSupportedException: 呼び出されたメソッドは、動的モジュールではサポートされていません。]
S2.NET.Framework.Xml.XmlHandler.Start(TagHandler handler, IAttributes attributes) +62
S2.NET.Framework.Xml.XmlHandlerParser.Parse(StreamReader input) +479
S2.NET.Framework.Xml.XmlHandlerParser.Parse(String path) +371
S2.NET.Framework.Container.Factory.XmlS2ContainerBuilder.Build(String path) +23
S2.NET.Framework.Container.Factory.S2ContainerFactory.Create(String path) +247
S2.NET.Framework.Container.Factory.SingletonS2ContainerFactory.Init() +84
S2.NET.Framework.Container.Web.S2HttpModule.Init(HttpApplication context) +87
System.Web.HttpApplication.InitModules() +100
System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +1330
System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +392
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +256
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414
【質問2】Web.configでの<configPath>の指定について
質問1に関連するかもしれませんが、Web.configの<configPath>にも相対パスを
指定すると同様のエラーが発生します。
--当該エラーのスタックトレース
[NotSupportedException: 呼び出されたメソッドは、動的モジュールではサポートされていません。]
System.Reflection.Emit.AssemblyBuilder.GetManifestResourceStream(String name) +48
S2.NET.Framework.Util.ResourceUtil.GetResourceNoException(String path, Assembly asm) +16
S2.NET.Framework.Util.ResourceUtil.GetResourceAsStream(String path, Assembly assembly) +20
S2.NET.Framework.Xml.XmlHandlerParser.Parse(String path) +300
S2.NET.Framework.Container.Factory.XmlS2ContainerBuilder.Build(String path) +23
S2.NET.Framework.Container.Factory.S2ContainerFactory.Create(String path) +247
S2.NET.Framework.Container.Factory.SingletonS2ContainerFactory.Init() +84
S2.NET.Framework.Container.Web.S2HttpModule.Init(HttpApplication context) +87
System.Web.HttpApplication.InitModules() +100
System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +1330
System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +392
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +256
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414
質問1、2の趣旨は共通なのですが、ASP.NETの場合でシステム内のパス指定
を相対パスで統一したいと考えております。
log4netやibatisも検証しており、こちらではクリアできたのですが
s2dotNetでも同様のことが出来ないかと考えた次第です。
なお自前で作成したASP.NETアプリケーションでは
次のコーディングでカレントディレクトリを取得しております。
AppDomain.CurrentDomain.SetupInformation.ApplicationBase
欲を言えば相対パス、絶対パス両方に対応できると良いのですが…
以上、ご回答をお願いいたします。
--
m.okuyama
--------------------------------------
Know more about Breast Cancer
http://pr.mail.yahoo.co.jp/pinkribbon/
seasar-dotnet メーリングリストの案内