S2Container.NET TOPページへ
s2container.net-version.zipを
解凍して出来たディレクトリの構成と説明です。(※ S2Container.NET 1.2.0-RC2以降)
ディレクトリ |
説明 |
s2container.net/build |
S2Container.NETのリリースビルドされたアセンブリ |
s2container.net/data |
Examplesで使用するDBのDDL等 |
s2container.net/lib |
S2Container.NETが参照しているアセンブリ等 |
s2container.net/source |
S2Container.NETのソースコード |
www |
ドキュメント |
S2Container.NETを利用する場合には以下のファイル(アセンブリ)への参照を追加する必要があります。
なお、buildディレクトリにあるSeasar.dllとja-JPディレクトリは同じディレクトリに配置してください。
- s2container.net/build/Seasar.dll
- s2container.net/lib/log4net.dll
次にアプリケーション構成ファイル(app.config)に必要であれば設定を行います。
アプリケーション構成ファイルについては以下のドキュメントを参照して下さい。
S2Container.NET リファレンス - アプリケーション構成ファイル
S2Container.NETでは
Apache Logging Services projectのlog4net
を使用してログを出力しています。
そのためlog4netの設定を行わないとS2Container.NETのログが出力されません。
以下にlog4netの設定の一例を示します。
log4netの設定ファイルの指定
AssemblyInfo等に以下の属性を指定します。
これはlog4netの設定ファイルにアプリケーション構成ファイル(app.config)を使うという設定です。
C#
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
VB.NET
<Assembly: log4net.Config.XmlConfigurator(Watch:=True)>
アプリケーション構成ファイル(app.config)にlog4netの設定を追加する
以下にTraceAdapterを使用した例を示します。
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
<section name="seasar" type="Seasar.Framework.Xml.S2SectionHandler, Seasar" />
</configSections>
<log4net>
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d [%t] %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="TraceAppender" />
</root>
</log4net>
<seasar>
<!-- 省略 -->
</seasar>
</configuration>
以上でlog4netのセットアップは終了です。
しかしlog4netの設定を行ったアプリケーション構成ファイルを含む
アセンブリ内で最初にlog4netでログを出力させずに、Seasarアセンブリで最初にログが出力されると
log4netはSeasarアセンブリ内のlog4netの設定を探すため、ログが出力されません。
log4netの設定を行ったアプリケーション構成ファイルを持つアセンブリ内で最初にログを出力するか、
プログラム起動時に以下のようにアプリケーション構成ファイルを読み込む処理を追加して下さい。
C#
System.IO.FileInfo info = new System.IO.FileInfo(
log4net.Util.SystemInfo.AssemblyShortName(
System.Reflection.Assembly.GetExecutingAssembly())
+ ".exe.config"); // アセンブリがdllの場合は".dll.config"
log4net.Config.XmlConfigurator.Configure(
log4net.LogManager.GetRepository(), info);
VB.NET
Dim info As New System.IO.FileInfo( _
log4net.Util.SystemInfo.AssemblyShortName( _
System.Reflection.Assembly.GetExecutingAssembly()) _
+ ".exe.config") ' アセンブリがdllの場合は".dll.config"
log4net.Config.XmlConfigurator.Configure( _
log4net.LogManager.GetRepository(), info)
S2ADOを利用する場合には以下のファイル(アセンブリ)への参照を追加する必要があります。
- s2container.net/lib/Nullables.dll
次にアプリケーション構成ファイル(app.config)に必要であれば設定を行います。
アプリケーション構成ファイルについては以下のドキュメントを参照して下さい。
データベース接続 - アプリケーション構成ファイル
S2Unit.NETはS2Container.NETを使ったテストを楽しく簡単に行うためのテスティングフレームワークです。
S2Unit.NETではMbUnit 2.3.83を使用しています。
事前にMbUnit 2.3.83
以上
をインストールしておく必要があります。
テストクラスはSeasar.Extension.Unit.S2TestCaseクラスを継承します。
S2TestCaseクラスはSeasar.Unit.dllに含まれてるので、テストコードを含むプロジェクトではSeasar.Unit.dllを参照に追加して下さい。
詳しくはS2Unit.NETのドキュメントを参照して下さい
S2AOP.NETは標準でSystem.Runtime.Remoting.Proxies.RealProxyを用いて実装されていますが、
これをCastle.DynamicProxy
を用いたSeasar.DynamicProxyに差し替えることができます。(1.2.0 for .NET 2.0以降)
Seasar.DynamicProxyについては以下のドキュメントを参照して下さい。
AOP - Seasar.DynamicProxyによるAOP
Seasar.DynamicProxyを利用する場合には、以下のファイル(アセンブリ)への参照を追加する必要があります。
- s2container.net/build/Seasar.DynamicProxy.dll
- s2container.net/lib/Castle.DynamicProxy.dll
(Seasar.DynamicProxy.dllから見て解決できる場所にあれば参照に追加する必要はありません)
以下のようにアプリケーション構成ファイル(App.config)にアセンブリ[Seasar.DynamicProxy]を追加します。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="seasar" type="Seasar.Framework.Xml.S2SectionHandler, Seasar" />
</configSections>
<seasar>
<configPath>App.dicon</configPath>
<assemblys>
<assembly>Seasar.DynamicProxy</assembly>
</assemblys>
</seasar>
</configuration>
以下のように、Seasar.Framework.Aop.Impl.DynamicAopProxyAspectWeaverクラスをdiconファイルに登録します。
他のAspectを適用したいComponentより、DynamicAopProxyAspectWeaverの方が先に解決できるように、
記述場所に注意して下さい。
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
"http://www.seasar.org/dtd/components.dtd">
<components>
<component class="Seasar.Framework.Aop.Impl.DynamicAopProxyAspectWeaver" />
・・・
</components>
以上でSeasar.DynamicProxyのセットアップは完了です。Seasar.DynamicProxyを用いたAOP実装に差し替えられました。
Examplesを実行するには、Visual Studioでs2container.net/source/Seasar.slnを開き、
Seasar.Examplesプロジェクトをスタートアッププロジェクトに設定して下さい。
実行すると、ExamplesExplorerが起動しS2Container.NETの機能を体験することができます。
Examplesでは一部、SQL Server 2000(もしくは MSDE 2000)を必要とする機能があります。
その機能を試す場合には、s2container.net/data/setUpDemo.batを実行し、Examples用のデータベースを作成します。
そして、Seasar.ExamplesのAdo.diconのデータベースへの接続文字列を
お使いの環境に合わせて変更して下さい。
|