[seasar-dotnet:423] Re: S2AOP.NET でinstance=sessionのコンポーネントでAOPが効かない
tomoaki.kuroiwa @ informatix.co.jp
tomoaki.kuroiwa @ informatix.co.jp
2006年 12月 15日 (金) 15:12:23 JST
皆様
大変お世話になっております。
戴いたソースでビルドし試してみました。
結果としては、シンプルなWebアプリケーションでは問題なくプロキシオブジェクト
を取得することができましたが、
本番のアプリケーションでは、StackOverflowエラーが発生してしまい起動すること
ができませんでした。。。
そこで、教えていただいた内容を参考に以下のよう修正したところ
StackOverflowエラーは発生しなくなり、かつプロキシオブジェクトを取得すること
ができるようになりました。
{
object component = session[componentName];
if (component != null){
return component;
}
{
//ないので作る
component = this.ConstructorAssembler.Assemble();
session[componentName] = component; //ここがミソか?
this.PropertyAssembler.Assemble(component);
this.InitMethodAssembler.Assemble(component);
}
{
//プロキシを取得してみる
object proxy = GetProxy(receiveType);
if (proxy == null){
session[componentName] = component;
return component;
}else{
session[componentName] = proxy;
return proxy;
}
}
}
この修正は妥当なのでしょうか。。。いまいち自信がありません。
まずはご報告まで。
失礼します。
くろいわ
seasar-dotnet メーリングリストの案内