[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 メーリングリストの案内