[seasar-dotnet:1962] Re: dbflute.netでVPNクライアントから起動できない。

kubo [E-MAIL ADDRESS DELETED]
2011年 3月 18日 (金) 08:23:31 JST


久保(jflute)です。

もう一度、環境を整理しましょう。

実行環境が「.NetFramework3.5SP1」ということですが、
Quillのバージョンも明記してもう一度全ての環境情報を
提示して下さい。

Quillは、1.4.x から .NET-4.0 対応(専用)となります。
なので、1.3.x を利用することが求められます。
つまり、試し修正のソースも 1.3.x のものである必要があります。

A. 開発環境・(VPNでの)実行環境、全て .NET-3.5 になっているか
B. 試し修正のソースが 1.3.x になっているかどうか

この二つをまずは確認してみて下さい。
ここが確定しないとややこしいので。

B ですが、trunk は既に 1.4.x になっていたように記憶しています。
(どなたかコミッタでわかる方フォローして頂ければと)

で、その辺がズレてしまうと、DynamicProxy周りで
例外が発生してしまうような気もするので、
その DynamicProxy のエラーが本当に今回の現象の
エラーなのかどうかなんともいえないかなと。
もし、AとBがtrueなら、DynamicProxyとVPNを疑わないと...

2011/3/17 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
> 久保様
>
> 追加の情報ですが。
> 以下のページのサンプルの
> 「Quill, S2Formを使ったサンプルソリューション (C#2.0バージョン)」
> http://s2container.net.seasar.org/ja/download.html
> を使用しても、同じ現象でした。。。
>
> なにかわかりましたら、
> ご連絡いただければ幸いです。
>
> 以上です。
>
>
> 2011年3月17日17:30 kubo <[E-MAIL ADDRESS DELETED]>:
>> 久保(jflute)です。
>>
>> ちょっと急いで書いてます。
>> どこかでみたような例外ではありますね。
>> ちょっと前提を整理した方がいいかもしれないので、
>> 念のためですが、実行環境の.NETのバージョンが、
>> 利用している Quill の対応バージョンと合ってるか
>> どうか確認してみて下さい。
>> (.NET-4.0対応のものか、そうでないか)
>> 修正して試したソースにも対応バージョンが
>> 決まっている、一旦その辺を整理してみて下さい。
>>
>> 関東は消費電力ピーク時に需要と供給がギリギリに
>> なるかもしれないとのことで、自分もPC落とすので、
>> すぐには反応できません。
>>
>> 2011/3/17 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>>> 久保様
>>>
>>> 八鍬です。
>>>
>>>> CreateProxyObject()からExceptionが発生している
>>>> とのことですが、その例外の名前やメッセージ、
>>>> スタックトレースはどのようなものでしょうか?
>>> QuillApplicationException:
>>> メッセージコード:EQLL0037
>>> 内容:プロキシオブジェクト({0})の生成に失敗しました。コンストラクタ内の処理、アクセス修飾子、インターセプターを設定しているメソッドがインターフェースor
>>> virtualになっているか、Castle.DynamicProxy.dllがSeasar.Quill.dllと同じ場所にあるか等をご確認下さい。
>>> です。
>>> なお、
>>> Castle.DynamicProxy.dllがSeasar.Quill.dllは同じ場所にあります。
>>>
>>>
>>>> また、アプリケーションとしてはうんともすんとも言わずに
>>>> 落ちてしまう(例外メッセージがログにも出てこない)
>>>> という最初の報告がありましたが、この例外が発生して
>>>> からは処理がどうなっているでしょうか?
>>> 変わりありません。
>>> なにも反応ないまま、プロセスが終了されてます。
>>>
>>>> (例外ハンドリングする前にどこかで C# のプロセスが切れる!?)
>>> 問題の発生している実行環境では、ログの出力しかできないため、
>>> そこまでは確認できていません。
>>>
>>>
>>>> あと、CreateProxyObject()ってどこの
>>>> クラスのメソッドでしょうか?
>>> Seasar.Quill.QuillComponentクラスになります。
>>>
>>>
>>>
>>>
>>>
>>> 2011年3月17日16:05 kubo <[E-MAIL ADDRESS DELETED]>:
>>>> 久保(jflute)です。
>>>>
>>>> DynamicProxyが関わってくると一層ややこしそうですね。
>>>>
>>>> CreateProxyObject()からExceptionが発生している
>>>> とのことですが、その例外の名前やメッセージ、
>>>> スタックトレースはどのようなものでしょうか?
>>>>
>>>> また、アプリケーションとしてはうんともすんとも言わずに
>>>> 落ちてしまう(例外メッセージがログにも出てこない)
>>>> という最初の報告がありましたが、この例外が発生して
>>>> からは処理がどうなっているでしょうか?
>>>> (例外ハンドリングする前にどこかで C# のプロセスが切れる!?)
>>>>
>>>> あと、CreateProxyObject()ってどこの
>>>> クラスのメソッドでしょうか?
>>>>
>>>> 2011/3/17 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>>>>> 久保様
>>>>>
>>>>> お世話になっております。
>>>>> 八鍬です。
>>>>>
>>>>> エラーの発生している箇所を特定しましたが、
>>>>> 対応の方法がわからず。
>>>>> 苦慮しております。
>>>>>
>>>>> 実際にExceptionをなげているのは
>>>>> ***
>>>>> protected virtual void CreateProxyObject(
>>>>>           Type componentType, Type receiptType, IAspect[] aspects)
>>>>> ***
>>>>> メソッドにでした。
>>>>> この
>>>>> ***
>>>>> aopProxy = new DynamicAopProxy(componentType, aspects, parameters);
>>>>>
>>>>> ***
>>>>> で、落ちていました。
>>>>>
>>>>> 関連する引数の値は、
>>>>> componentType   {Name = "LoginInfoDao" FullName =
>>>>> "MsiNet.AllowanceCalculation.Dbflute.ExDao.LoginInfoDao"}       System.Type
>>>>> {System.RuntimeType}
>>>>> receiptType     {Name = "LoginInfoDao" FullName =
>>>>> "MsiNet.AllowanceCalculation.Dbflute.ExDao.LoginInfoDao"}       System.Type
>>>>> {System.RuntimeType}
>>>>> aspects {Seasar.Framework.Aop.IAspect[1]}       Seasar.Framework.Aop.IAspect[]
>>>>>
>>>>> といった感じだったのですが、
>>>>> なにか原因は考えらえますでしょうか??
>>>>>
>>>>> また、他に注目すべき値などはありますでしょうか??
>>>>>
>>>>> 以上です。
>>>>>
>>>>>
>>>>> 2011年3月15日19:43 kubo <[E-MAIL ADDRESS DELETED]>:
>>>>>> 久保(jflute)です。
>>>>>>
>>>>>>> サンプルでの結果ですが、
>>>>>>> 下記のサンプルでテストした結果、
>>>>>>> 問題なく接続できることが確認できました。
>>>>>>
>>>>>> おおっと、なるほど再現しないということですね。
>>>>>> ならば Quill を使った場合の接続を疑った方がよさそうですね。
>>>>>>
>>>>>> ちょっと力技ですが、Quill のソースを修正してログなどを
>>>>>> 入れてみて(可能であればデバッガでもいいですけど)、
>>>>>> エラーになる箇所をピンポイントで特定してしまうのが
>>>>>> 一番早い解決につながるかもしれません。
>>>>>>
>>>>>> Quill でも ADO.NET を使っていることには変わりませんので、
>>>>>> どこかにその使い方に違いがあって落ちる落ちないの差が出る
>>>>>> と考えられますので、ここはオープンソースの特性を活かして、
>>>>>> その差が何かってのを明確にすると解決法が見えてくるかと。
>>>>>>
>>>>>> 2011/3/15 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>>>>>>> 久保様
>>>>>>>
>>>>>>> お世話になっております。
>>>>>>> 八鍬です。
>>>>>>>
>>>>>>> サンプルでの結果ですが、
>>>>>>> 下記のサンプルでテストした結果、
>>>>>>> 問題なく接続できることが確認できました。
>>>>>>>
>>>>>>>>最終的には、ADO.NETやSQLServerとVPNで情報探していく
>>>>>>> >必要があるのかなぁと推測しています。
>>>>>>> こちらも調査してみます。
>>>>>>> 加えて、ユーザの権限やセキュリティの設定も改めて確認しています。
>>>>>>>
>>>>>>>
>>>>>>> 以下、使用したサンプルです。
>>>>>>>
>>>>>>> //サンプルコード概要
>>>>>>> //Form1上にbutton1とtextBox1を配置して
>>>>>>> //textBox1に接続文字列を入力して、接続できるかを確認する。
>>>>>>> /*
>>>>>>> private void button1_Click(object sender, EventArgs e)
>>>>>>>        {
>>>>>>>            string stConnectionString = string.Empty;
>>>>>>>            System.Data.SqlClient.SqlConnection cSqlConnection = null;
>>>>>>>            try
>>>>>>>            {
>>>>>>>                // 接続文字列を生成する
>>>>>>>
>>>>>>>                stConnectionString = textBox1.Text.ToString();
>>>>>>>
>>>>>>>                // SqlConnection の新しいインスタンスを生成する (接続文字列を指定)
>>>>>>>                cSqlConnection = (
>>>>>>>                    new System.Data.SqlClient.SqlConnection(stConnectionString)
>>>>>>>                );
>>>>>>>
>>>>>>>                // データベース接続を開く
>>>>>>>                cSqlConnection.Open();
>>>>>>>
>>>>>>>                // 接続に成功した旨を表示する
>>>>>>>                MessageBox.Show("Microsoft SQL Server に接続されました");
>>>>>>>
>>>>>>>            }catch(Exception ex){
>>>>>>>                MessageBox.Show(ex.Message.ToString());
>>>>>>>
>>>>>>>            }finally{
>>>>>>>                // データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照)
>>>>>>>                if (cSqlConnection != null)
>>>>>>>                {
>>>>>>>                    cSqlConnection.Close();
>>>>>>>                    cSqlConnection.Dispose();
>>>>>>>                }
>>>>>>>
>>>>>>>            }
>>>>>>>        }
>>>>>>> */
>>>>>>>
>>>>>>> 以上です。
>>>>>>>
>>>>>>> 2011年3月15日16:34 kubo <[E-MAIL ADDRESS DELETED]>:
>>>>>>>> 久保(jflute)です。
>>>>>>>>
>>>>>>>> 八鍬さん、ありがとうございます。
>>>>>>>> 目の前の生活・仕事を頑張るのが一番の貢献ですね。
>>>>>>>> お互い頑張りましょう。
>>>>>>>>
>>>>>>>> ADO.NETだけで再現するのであれば、
>>>>>>>> 次は英語版を日本語版にして試すって順序ですが、
>>>>>>>> なんとなくですがそれが影響するとはあまり思えないですね。
>>>>>>>> 最終的には、ADO.NETやSQLServerとVPNで情報探していく
>>>>>>>> 必要があるのかなぁと推測しています。
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> #
>>>>>>>> # 皆様へ
>>>>>>>> # 反応は遅れるかもしれませんが、
>>>>>>>> # DBFluteの問い合わせなど変わらず受け付けています。
>>>>>>>> # 効率良くDBFluteを使ってもらうことが、ささやかながらも
>>>>>>>> # 間接的な貢献につながると思いますので。
>>>>>>>> #
>>>>>>>>
>>>>>>>> 2011/3/15 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>>>>>>>>> 久保様
>>>>>>>>>
>>>>>>>>> ご無事でなによりです。
>>>>>>>>> こんなときにも、仕事があるのはとても恵まれているのだと、
>>>>>>>>> ひしひし実感しております。
>>>>>>>>>
>>>>>>>>>> ADO.NET を直接使って、ログイン情報を取得する
>>>>>>>>>> だけの本当に簡易なアプリで作って、試してみると
>>>>>>>>>> 良いと思います。それで再現するかしないかで、
>>>>>>>>>> アプローチする領域が変わってくるのかなと。
>>>>>>>>> アドバイスありがとうございます。
>>>>>>>>> 試してみます。
>>>>>>>>>
>>>>>>>>> 以上です。
>>>>>>>>>
>>>>>>>>> 2011年3月15日12:00 kubo <[E-MAIL ADDRESS DELETED]>:
>>>>>>>>>> 久保(jflute)です。
>>>>>>>>>>
>>>>>>>>>> 八鍬さん、こんにちは
>>>>>>>>>> DBFluteの話ができるのがとてもうれしいです。
>>>>>>>>>>
>>>>>>>>>> と言いつつも、ちょっと原因は全くの不明です。
>>>>>>>>>> こういうときは決まって、消去法で原因領域を
>>>>>>>>>> 狭めていくのがよいかと思います。
>>>>>>>>>>
>>>>>>>>>> ADO.NET を直接使って、ログイン情報を取得する
>>>>>>>>>> だけの本当に簡易なアプリで作って、試してみると
>>>>>>>>>> 良いと思います。それで再現するかしないかで、
>>>>>>>>>> アプローチする領域が変わってくるのかなと。
>>>>>>>>>>
>>>>>>>>>> 2011/3/15 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>>>>>>>>>>> 八鍬と申します。
>>>>>>>>>>>
>>>>>>>>>>> dbflute.net×CSharpで、WindowsFormアプリケーションを作成しています。
>>>>>>>>>>>
>>>>>>>>>>> 特定の環境下で、アプリケーションが起動しない問題が起きています。
>>>>>>>>>>> (アプリケーションエラーにもならず、ウィンドウが立ち上がらない)
>>>>>>>>>>> DBFluteのログを確認したのですが、
>>>>>>>>>>> データベースへの接続の前に処理が中断されているようでした。
>>>>>>>>>>>
>>>>>>>>>>> サーバローカル上にEXEを配置した場合は、問題なく起動できたので、
>>>>>>>>>>> dbfluteが直接関係しているとは考えにくいのですが。。。
>>>>>>>>>>>
>>>>>>>>>>> データベースの接続については、
>>>>>>>>>>> クライアントからマネージメントスタジオでの接続、
>>>>>>>>>>> sqlcmdによる接続を確認しています。
>>>>>>>>>>> また、TCPポート1433については開放してあります。
>>>>>>>>>>>
>>>>>>>>>>> 気になる点としては、サーバ、クライアントともにOSが英語版であるため、
>>>>>>>>>>> ロケーションによる問題が発生しないか?という点と
>>>>>>>>>>> 失敗している環境下では、VPNを使用しているという点です。
>>>>>>>>>>>
>>>>>>>>>>> 原因について、どのようなことが考えられるか、
>>>>>>>>>>> ご教授いただけないでしょうか??
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 以下、詳細になります。
>>>>>>>>>>> --
>>>>>>>>>>> DBfluteのバーション:dbflute-0.8.9.22
>>>>>>>>>>> データベース:SQLSQEVER2005(英語版)
>>>>>>>>>>> クライアント:winXP(英語版)
>>>>>>>>>>> .NetFramework3.5SP1
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 接続に失敗する環境下で
>>>>>>>>>>> DBFluteのログをみると、
>>>>>>>>>>>
>>>>>>>>>>> ******************************
>>>>>>>>>>> 2011-03-14 15:13:51,933 [1] INFO  Seasar.Quill.QuillConfig - Quill
>>>>>>>>>>> configuration file path:C:\Documents and
>>>>>>>>>>> Settings\XXXXXX\Desktop\exec\Seasar.Quill.dll.config
>>>>>>>>>>> 2011-03-14 15:13:51,949 [1] INFO  Seasar.Quill.QuillContainer - Quill
>>>>>>>>>>> configuration file (exist = true, none = false):True
>>>>>>>>>>> 2011-03-14 15:13:51,949 [1] INFO  Seasar.Quill.QuillConfig - There is
>>>>>>>>>>> no additional assembly.
>>>>>>>>>>> 2011-03-14 15:13:51,949 [1] INFO  Seasar.Quill.QuillConfig - The data
>>>>>>>>>>> source is generated by using the setting of the Quill configuration
>>>>>>>>>>> file.
>>>>>>>>>>> ******************************
>>>>>>>>>>>
>>>>>>>>>>> で止まっています。
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 通常(接続できる)は、
>>>>>>>>>>> ******************************
>>>>>>>>>>> 2011-03-11 14:27:19,230 [1] INFO  Seasar.Quill.QuillConfig - Quill
>>>>>>>>>>> configuration file
>>>>>>>>>>> path:C:\Users\XXXXX\Documents\Works\WorkXXXX\Release\2011-03-11_1425\exec\Seasar.Quill.dll.config
>>>>>>>>>>> 2011-03-11 14:27:19,235 [1] INFO  Seasar.Quill.QuillContainer - Quill
>>>>>>>>>>> configuration file (exist = true, none = false):True
>>>>>>>>>>> 2011-03-11 14:27:19,236 [1] INFO  Seasar.Quill.QuillConfig - There is
>>>>>>>>>>> no additional assembly.
>>>>>>>>>>> 2011-03-11 14:27:19,244 [1] INFO  Seasar.Quill.QuillConfig - The data
>>>>>>>>>>> source is generated by using the setting of the Quill configuration
>>>>>>>>>>> file.
>>>>>>>>>>> 2011-03-11 14:27:19,549 [1] DEBUG
>>>>>>>>>>> MsiNet.AllowanceCalculation.Dbflute.AllCommon.S2Dao.S2DaoMetaDataFactoryImpl
>>>>>>>>>>> - ...Creating daoMetaData for 'LoginInfoDao'.
>>>>>>>>>>> 2011-03-11 14:27:19,777 [1] DEBUG
>>>>>>>>>>> XXXXX.XXXXX.Dbflute.AllCommon.S2Dao.S2DaoMetaDataExtension -
>>>>>>>>>>> ...Initializing sqlCommand for SelectList().
>>>>>>>>>>> 2011-03-11 14:27:19,825 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>> SqlCommand Initialization Cost: [00m00s275ms]
>>>>>>>>>>> 2011-03-11 14:27:19,835 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>> /================================================================================
>>>>>>>>>>> 2011-03-11 14:27:19,835 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>>
>>>>>>>>>>> LoginInfoBhv.SelectEntity()
>>>>>>>>>>> 2011-03-11 14:27:19,835 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>>
>>>>>>>>>>> ==========================/
>>>>>>>>>>> 2011-03-11 14:27:19,839 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>> SystemServiceImpl.Login() --> LoginInfoBhv.SelectEntity() --> ...
>>>>>>>>>>> 2011-03-11 14:27:20,073 [1] DEBUG Seasar.Framework.Util.DataSourceUtil
>>>>>>>>>>> - Logical connection got
>>>>>>>>>>> 2011-03-11 14:27:20,074 [1] DEBUG
>>>>>>>>>>> MsiNet.AllowanceCalculation.Dbflute.AllCommon.QLog -
>>>>>>>>>>> select  dfloc.id as c0, dfloc.login_id as c1, dfloc.login_pw as c2,
>>>>>>>>>>> dfloc.user_nm as c3
>>>>>>>>>>>  from login_info dfloc
>>>>>>>>>>>  where dfloc.login_id = 'XXXXX'
>>>>>>>>>>> 2011-03-11 14:27:20,144 [1] DEBUG Seasar.Framework.Util.ConnectionUtil
>>>>>>>>>>> - Logical connection closed
>>>>>>>>>>> 2011-03-11 14:27:20,150 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>> ===========/ [00m00s306ms (1) result={5, XXXXX, , , , , , }]
>>>>>>>>>>> 2011-03-11 14:27:20,150 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>>
>>>>>>>>>>> ******************************
>>>>>>>>>>>
>>>>>>>>>>> となり、ログインに関する情報を取得するのですが。。。
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> データベースへ接続できない場合(DBユーザのパスワードのあやまりなど)は、
>>>>>>>>>>> ******************************
>>>>>>>>>>> 2011-03-11 14:42:01,081 [1] INFO  Seasar.Quill.QuillConfig - Quill
>>>>>>>>>>> configuration file
>>>>>>>>>>> path:C:\Users\XXXXX\Documents\Works\WorkXXXXX\Release\2011-03-11_1425\exec\Seasar.Quill.dll.config
>>>>>>>>>>> 2011-03-11 14:42:01,085 [1] INFO  Seasar.Quill.QuillContainer - Quill
>>>>>>>>>>> configuration file (exist = true, none = false):True
>>>>>>>>>>> 2011-03-11 14:42:01,086 [1] INFO  Seasar.Quill.QuillConfig - There is
>>>>>>>>>>> no additional assembly.
>>>>>>>>>>> 2011-03-11 14:42:01,094 [1] INFO  Seasar.Quill.QuillConfig - The data
>>>>>>>>>>> source is generated by using the setting of the Quill configuration
>>>>>>>>>>> file.
>>>>>>>>>>> 2011-03-11 14:42:01,376 [1] DEBUG
>>>>>>>>>>> XXXXX.XXXXX.Dbflute.AllCommon.S2Dao.S2DaoMetaDataFactoryImpl -
>>>>>>>>>>> ...Creating daoMetaData for 'LoginInfoDao'.
>>>>>>>>>>> 2011-03-11 14:42:01,430 [1] DEBUG
>>>>>>>>>>> XXXXX.XXXXX.Dbflute.AllCommon.S2Dao.S2DaoMetaDataExtension -
>>>>>>>>>>> ...Initializing sqlCommand for SelectList().
>>>>>>>>>>> 2011-03-11 14:42:01,447 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>> SqlCommand Initialization Cost: [00m00s071ms]
>>>>>>>>>>> 2011-03-11 14:42:01,455 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>> /================================================================================
>>>>>>>>>>> 2011-03-11 14:42:01,455 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>>
>>>>>>>>>>> LoginInfoBhv.SelectEntity()
>>>>>>>>>>> 2011-03-11 14:42:01,455 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>>
>>>>>>>>>>> ==========================/
>>>>>>>>>>> 2011-03-11 14:42:01,458 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>> SystemServiceImpl.Login() --> LoginInfoBhv.SelectEntity() --> ...
>>>>>>>>>>>
>>>>>>>>>>> ******************************
>>>>>>>>>>>
>>>>>>>>>>> となっています。
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> 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
>>>>>>>>>>
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> 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
>>>>>>
>>>>>
>>>> _______________________________________________
>>>> 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
>>>
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
>


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