[seasar-dotnet:2121] Quill でトランザクションが開始できません

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2011年 12月 13日 (火) 18:14:54 JST


上村と申します。

Quillでのトランザクションについて質問です。

以前、同様の質問を致しましたが
不躾に添付ファイルを送ってしまい
申し訳ありませんでした。
こういったメーリングリストは
初めてなのでサンプルがあった方が
分かりやすいかと思ったのですが
大変、失礼致しました。

質問内容ですが
http://s2container.net.seasar.org/ja/quill.html#nodicon_tx
やExamplesを参考にコードを作成しましたが
トランザクションが開始されず
エラーが発生してもロールバックされません。

以下、コードの一部を記述します
-----------------------------------------------------------
<Implementation(GetType(TestLogicImpl))> _
Public Interface ITestLogic

	<Transaction()> _
    Function Delete() As Integer

End Interface

Public Class TestLogicImpl
    Implements ITestLogic

    Protected _dao As ITestDao

	<Transaction()> _
	Public Overridable Function Delete() As Integer _
				Implements ITestLogic.Delete

        Return _dao.Delete()

    End Function

End Class

[App.config]
<quill>
  <dataSources>
    <dataSource name="ds">
      <provider>ODP</provider>
      <connectionString>"User Id=Test; Password=Test; Data Source=Test"</connectionString>
      <class>Seasar.Extension.Tx.Impl.TxDataSource</class>
    </dataSource>
  </dataSources>
  <assemblys>
    <assembly>Seasar</assembly>
    <assembly>Seasar.Windows</assembly>
    <assembly>Seasar.DynamicProxy</assembly>
    <assembly>Seasar.Dao</assembly>
    <assembly>Oracle.DataAccess, version=1.102.5.0, Culture=neutral, PublicKeyToken=89b483f429c47342</assembly>
  </assemblys>
</quill>
-----------------------------------------------------------

「<Transaction()> _」をクラス側のメソッドに記述したところ
Daoのインスタンスが作成されなくなり
System.NullReferenceExceptionが発生するようになりました。
そこでインタフェース側に記述したところ
エラーは発生しなくなりましたが、トランザクションは開始されておらず
トランザクション開始というログも出力されておりません。

クラス側にImplementationを記述してみたり
Quillやトランザクションでいろいろ検索してみましたが
解決には至りませんでした。
トランザクションを記述する際に
注意する点があればご指導頂けないでしょうか。

環境は次のとおりです。
OS:Windows 7(SP1)
開発言語:VB(.NET Framework 4.0)
開発環境:VisualStudio2010
DB:Oracle 10.2.0.5.0
S2Container.net:1.4.0.0

皆様お忙しい中、お手数をお掛け致しますが
何か情報があればご教示ください。



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