[seasar-dotnet:1656] S2Container.NET、S2Dao.NET(Windows7)について2

Sohei Fukumura [E-MAIL ADDRESS DELETED]
2010年 4月 21日 (水) 15:57:19 JST


いつもお世話になっております。

皆様のご助言を踏まえて確認した結果、
判明したことをご報告いたします。

試しにSeasar.DynamicProxy.dllへの依存を消去しました。
[結果]
Daoの作成" とは、実行時にDaoインターフェースを作成することが
できましたので、proxyに依存しない箇所は生成することができました。

やはり、キーはSeasar.DynamicProxyとCastle.DynamicProxyの
関係性かもしれません。(推測で申し訳ございませんが...)

久保様のご助言通り、
Seasar.DynamicProxyとCastle.DynamicProxy
を利用する小さなプログラムを作成してWindows7で
動かして解析するのがベストかもしれません。


※ソース(Diconファイル)について※
分かり難くて申し訳ございませんが、
Diconファイルの記載内容は下記のようになります。
もし、下記で欠けている設定情報等がございましたらお教えいただけますでしょう
か。
XpやVistaで動作しているので、ロジック実装クラス等が悪さをしている可能性は
低いため今回は除外いたしました。

[App.dicon] ファイル
<components>
  <include path="Info /Dicon/Logic.dicon"/>
</components>

[Logic.dicon] ファイル
  <include path="Info/Dicon/Dao.dicon"/>
  <component class="Seasar.Framework.Aop.Impl.DynamicAopProxyAspectWeaver"
/>
  <component name="traceInterceptor"
class="Seasar.Framework.Aop.Interceptors.TraceInterceptor"/>

  <!-- 画面遷移用ディスパッチャー -->
  <component name="FormInterceptorr" class="Seasar.Windows.AOP.Interceptors.
FormInterceptor" />

  <!-- Logicの登録 -->
  <component class="Info.Logic.Impl.KojinLogicImpl" >
    <aspect>traceInterceptor</aspect>
    <aspect pointcut=".*">RequiredTx</aspect>
  </component>
…

[Dao.dicon]ファイル
  <include path="Info/Dicon/Tx.dicon"/>

  <!-- S2Dao.NETのDaoInterceptorとそれに必要なコンポーネント -->
  <component class="Seasar.Extension.ADO.Impl.BasicDataReaderFactory" />
  <component class="Seasar.Extension.ADO.Impl.BasicCommandFactory" />
  <component class="Seasar.Dao.Impl.FieldAnnotationReaderFactory" />
  <component class="Seasar.Dao.Impl.DaoMetaDataFactoryImpl" />
  <component name="DaoInterceptor"
      class="Seasar.Dao.Interceptors.S2DaoInterceptor"/>

  <!-- Daoの登録 -->
  <component class="Info.Dao.IKojinDao">
    <aspect>DaoInterceptor</aspect>
  </component>
…

[Tx.dicon]ファイル
<include path="Info/Dicon/Ado.dicon"/>

  <!-- データソース -->
  <component name="SqlDataSource"
class="Seasar.Extension.Tx.Impl.TxDataSource">
    <property name="DataProvider">OleDb</property>
    <property name="ConnectionString">"*********"</property>
  </component>

  <!-- ローカルトランザクション用のインターセプターで使用します -->
  <component name="TransactionContext"
      class="Seasar.Extension.Tx.Impl.TransactionContext">
    <property name="IsolationLevel">
      System.Data.IsolationLevel.ReadCommitted
    </property>
  </component>
  <component name="RequiredTx"
class="Seasar.Extension.Tx.TransactionInterceptor">
    <arg>
      <component class="Seasar.Extension.Tx.Impl.LocalRequiredTxHandler" />
    </arg>
    <property name="TransactionStateHandler">TransactionContext</property>
  </component>

[Ado.dicon]ファイル
  <!-- データプロバイダ(OLEDB(MDB)) -->
  <component name="OleDb" class="Seasar.Extension.ADO.DataProvider">
    <property
name="ConnectionType">"System.Data.OleDb.OleDbConnection"</property>
    <property name="CommandType">"System.Data.OleDb.OleDbCommand"</property>
    <property
name="ParameterType">"System.Data.OleDb.OleDbParameter"</property>
    <property
name="DataAdapterType">"System.Data.OleDb.OleDbDataAdapter"</property>
  </component>


以上、よろしくお願い致します。




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