[seasar-dotnet:2196] Re: 【Quill】サーバ起動時(WCF)にS2Containerを初期化する方法について

kotani.k [E-MAIL ADDRESS DELETED]
2012年 8月 25日 (土) 21:46:22 JST


佐藤さん

小谷です。

ご提供いただいた設定ファイル、ソースコードを拝見する限りでは
設定ファイルではQuillの初期化を、
ソースコードではS2Containerの初期化処理呼び出しを行っているように見えます。

Seasar.NETにはQuillとS2Containerの2種類のDIコンテナがあり、
バージョン1.3.18まではQuill推奨、1.4.0からはQuillのみ対応となっております。

Quillの初期化方法は
http://s2container.net.seasar.org/ja/quill.html#di_quill
をご覧ください。

また、WCFによるWebサービスにおける初期可処理呼び出し箇所としましては
当メーリングリストの下記のやり取りが参考になるかと思います。
http://ml.seasar.org/archives/seasar-dotnet/2011-December/002113.html

以上です。

2012年8月25日 9:57 佐藤 浩 <shiroshi92 @ gmail.com>:
> お世話になっております。
> 佐藤と申します。
>
> C# .Net.4.0
> S2Container.NET 1.4.0 RC3
> SqlServer2008 R2
> Visual Studio 2010
>
> サーバ側では、WCFによるWebサービスのみを提供したいと思
> っております。
> (ASP.NET空のWebアプリケーションのソリューションにWCFサ
> ービス追加。)
>
> http://s2container.net.seasar.org/ja/asp.html
>
> を参考に、色々設定を試させていただいているのですが、AOP
> や、DIが機能していません。
> Web.configに設定を記述し、Global.asaxで、S2Containerの
> 初期化を行えば良いと考えたのですが、違うのでしょうか?
> (コーディングしたクラスは、WindowsアプリでQuillの動作
> 確認が取れているものを利用)
>
>
> 以下に、私が行った設定を示します。
>
> 【Web.config】
>
> <configuration>
>
> <!-- 追加 開始 -->
>   <configSections>
>     <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
>     <section name="quill" type="Seasar.Quill.Xml.QuillSectionHandler, Seasar.Quill" />
>   </configSections>
>
>   <log4net>
>     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
>       <layout type="log4net.Layout.PatternLayout">
>         <conversionPattern value="%-5p %d [%t] %m%n" />
>       </layout>
>     </appender>
>     <root>
>       <level value="DEBUG" />
>       <appender-ref ref="TraceAppender" />
>     </root>
>   </log4net>
>   <quill>
>     <dataSources>
>       <dataSource name="ds">
>         <provider>SqlServer</provider>
>         <connectionString>"Server={サーバ名}\\SQLEXPRESS;Database=s2dotnetdemo;Integrated Security=true"</connectionString>
>         <class>Seasar.Extension.Tx.Impl.TxDataSource</class>
>       </dataSource>
>       <assemblys>
>         <assembly>Seasar.Dao</assembly>
>         <assembly>Seasar.Windows</assembly>
>         <assembly>Seasar.Dxo</assembly>
>       </assemblys>
>     </dataSources>
>   </quill>
> <!-- 追加 終了 -->
>
>    <system.web>
> ---中略---
>
> 【Global.asax ※】
> protected void Application_Start(Object sender, EventArgs e)
> {
>     SingletonS2ContainerFactory.Init();
> }
>
> protected void Application_End(Object sender, EventArgs e)
> {
>     SingletonS2ContainerFactory.Destroy();
> }
>
> ※Global.asaxをソリューションに追加し、空のapp.diconを用意。
>
> .NET開発の経験が少ないため、的外れな事を言っていたら、申し訳
> ございません。
>
> 以上、よろしくお願いいたします 。
>
>
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet


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