[seasar-dotnet:1621] Re: Transaction 属性をつけたクラスにはDIされない?

Tatsuharu Kawakami [E-MAIL ADDRESS DELETED]
2010年 3月 19日 (金) 17:45:13 JST


川上です。

自己解決しました。

Quillではprivateメソッドを含め、すべてのフィールドに対してDI対象かどうかを問い合わせるようなのですが、
Aspectが適用されたProxyクラスは、もとのオブジェクトのprivateフィールドをType.GetFieldsで取得できないためDIできません。

というところを突き止めたのですが、
ここに書いてありましたorz..
http://s2container.net.seasar.org/ja/quill.html#di_notice

大変失礼しました。


2010年3月19日17:14 Tatsuharu Kawakami <[E-MAIL ADDRESS DELETED]>:
> 川上です。
>
> ikutirinさん
>
> 念のため逆にしてみましたし、メソッドにTransactionをつけてもダメでした。
> リビルドも行いましたがダメでした。
>
> Aspectタグで適当なInterceptorをつけてみましたが、やはりダメでした。。。
>
>
> 2010年3月19日16:33 ikutirin <[E-MAIL ADDRESS DELETED]>:
>> ikutirinです。
>>
>> 全く未検証で申し訳ないのですが、
>> 属性を逆にしてみても同じですか。
>> #以前同じような現象に出くわしたような気がして。。。
>>
>>  [Transaction]
>>  [Implementation]
>>  public class HogeAction
>>
>> 関係ないでしょうか。。。
>>
>> #Transaction属性はクラスでも有効でしたでしょうか。。。
>> #私はメソッド派です。
>>
>>
>>
>>
>> Tatsuharu Kawakami <[E-MAIL ADDRESS DELETED]> wrote:
>>
>>> 川上です。
>>>
>>> Quillを検証している最中で疑問に思うことがあるので確認させてください。
>>>
>>> 下記のクラスで、Transaction属性をつけなかった場合は、logicフィールドに期待するオブジェクトが設定されるのですが、
>>> Transaction属性をつけた場合、logicフィールドがnullとなってしまいました。
>>> ソースコードを眺めた感じでは、Aspectを適用するクラスにはインジェクションがされないようなのですが、これは仕様でしょうか?
>>>
>>>
>>>     [Implementation]
>>>     [Transaction]
>>>     public class HogeAction
>>>     {
>>>         private HogeLogic logic = null;
>>>
>>>         public virtual void BatchInsert()
>>>         {
>>>             Console.WriteLine(logic == null ? "ぬるっ" : logic.ToString());
>>>         }
>>>     }
>>>
>>>
>>> 使用している環境
>>> s2container.net-1.3.17
>>> VisualStudio2008
>>> .NET Framework3.5
>>>
>>> よろしくお願いします。
>>>
>>> --
>>> --------------------------------------
>>> Tatsuharu Kawakami
>>> [E-MAIL ADDRESS DELETED]
>>> _______________________________________________
>>> seasar-dotnet mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
>
>
>
> --
> --------------------------------------
> Tatsuharu Kawakami
> [E-MAIL ADDRESS DELETED]
>



-- 
--------------------------------------
Tatsuharu Kawakami
[E-MAIL ADDRESS DELETED]


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