[seasar-dotnet:1474] Re: vb.netのServiceクラスについて

s.o [E-MAIL ADDRESS DELETED]
2009年 9月 14日 (月) 09:53:00 JST


久保(jflute)さん
西山さん

田中です。

問題可決できました。
いろいろ情報ありがとうございました。

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


西山 はじめ さんは書きました:
> お世話になっております。
> 西山です。
>
> 横から失礼します。
> VB.NETでQuill+S2Formをフルに使ったアプリを構築してましたの で参考にな
> れば。
>
> クラスの場合は、Public かつ Overridable(C#ではvirtual)のメ ソッドのみ
> AOPが適用されます。
>
> トランザクションはAOPをかけていますので、
>
> http://s2container.net.seasar.org/ja/quill.html#aop_notice
>
> ここが参考になると思います。
>
> 以上よろしくお願いいたします。
>
> [2009/09/11 18:58] kubo さんは書きました。:
>> 久保(jflute)です。
>>
>> ご報告ありがとうございます。
>> (Overridableですか、勉強になります)
>>
>> これでトランザクションがちゃんと発行されて
>> いれば(ログに出ます)、OKかと思います。
>>
>> C#でもvirtual付けなければ多分同じエラーが
>> 発生するんじゃないかと。
>> Quillが採用しているAOPの方式的に、AOPを掛けるには
>> オーバーライド可能なメソッドじゃないとダメなはずなので。
>>
>> 2009/9/11 s.o <[E-MAIL ADDRESS DELETED]>:
>>> 田中です。
>>>
>>> インターフェースありの場合は、正常に動作しています。
>>>
>>> 調べたら、virtualはVBでは Overridable になるそうです。
>>>
>>> <Transaction()> _
>>> Public Overridable Function ExecDelete(ByVal id As Integer) As Integer
>>> Dim dto As New EmployeeDto
>>> dto.Id = id
>>>
>>> Return dao.DeleteData(dto)
>>> End Function
>>>
>>> でこれで実行したら、エラーが出なくなりました。
>>>
>>> これでOKですかね?
>>>
>>>
>>>
>>> kubo さんは書きました:
>>>> 久保(jflute)です。
>>>>
>>>> 情報ありがとうございます。
>>>>
>>>> インターフェースありの場合は、
>>>> ExecDelete()メソッドに<Transaction()>を付与しても
>>>> 正常に動作しますでしょうか?
>>>>
>>>> また、ExecDelete()メソッドのにvirtual修飾子を
>>>> 付けるとどうなりますでしょうか?
>>>> (VBにvirtualあるんでしたっけ?)
>>>>
>>>> 2009/9/11 s.o <[E-MAIL ADDRESS DELETED]>:
>>>>
>>>>> 久保(jflute)さん
>>>>>
>>>>> お世話様です。田中です。
>>>>>
>>>>>
>>>>>> o Serviceクラス内のどこに<Transaction()>がある場合か?
>>>>>>
>>>>>>
>>>>> ServiceクラスのExecDeleteメソッドの上です。
>>>>>
>>>>> Public Class EmployeeEditService
>>>>> Inherits BaseService
>>>>>
>>>>> Protected dao As IEmployeeDao
>>>>>
>>>>> Public Sub New()
>>>>> '
>>>>> End Sub
>>>>>
>>>>> <Transaction()> _
>>>>> Public Function ExecDelete(ByVal id As Integer) As Integer
>>>>> Dim dto As New EmployeeDto
>>>>> dto.Id = id
>>>>>
>>>>> Return dao.DeleteData(dto)
>>>>> End Function
>>>>>
>>>>>
>>>>>> o どのタイミングでエラーが発生するのか?
>>>>>>
>>>>> Formを起動するタイミングでエラーが発生します。
>>>>> FormクラスでServiceクラスをDIしてるので、
>>>>> Protected service As EmployeeEditService
>>>>> を定義しています。
>>>>> ちなみに、これを削除するとエラーが出ませんでした。
>>>>>
>>>>>
>>>>>> o 例外スタックトレースは?(重要な部分だけでもいいので)
>>>>>>
>>>>> 'Seasar.Quill.Exception.QuillApplicationException' の初回例外が
>>>>> Seasar.Quill.dll で発生しました。
>>>>> Lgn00.Forms.FrmLgn001: ERROR 2009-09-11 17:54:12,703 [10] 予期でき
>>>>> ないエ
>>>>> ラーが発生しました。詳細を確認してください。([EQLL0036]It failed
>>>>> in the
>>>>> instance generation of component FrmEmployEdit. Please confirm
>>>>> processing and the access qualifier, etc. among constructors.)
>>>>>
>>>>> これで分かりますか?
>>>>>
>>>>>
>>>>> kubo さんは書きました:
>>>>>
>>>>>> 久保(jflute)です。
>>>>>>
>>>>>> 田中さん、こんにちは
>>>>>>
>>>>>> o Serviceクラス内のどこに<Transaction()>がある場合か?
>>>>>> o どのタイミングでエラーが発生するのか?
>>>>>> o 例外スタックトレースは?(重要な部分だけでもいいので)
>>>>>>
>>>>>> というような具体的な情報をもう少し頂けると助かります。
>>>>>>
>>>>>> 2009/9/11 s.o <[E-MAIL ADDRESS DELETED]>:
>>>>>>
>>>>>>
>>>>>>> お世話様です。田中です。
>>>>>>>
>>>>>>> VB.NETのサンプルのServiceクラスが、インターフェースクラスと実装
>>>>>>> クラスで
>>>>>>> 構成されていますが、
>>>>>>> 実装クラスのみで作成使用と考え、 <Implementation()>を付けて実装
>>>>>>> したところ
>>>>>>> 動くことを確認しました。
>>>>>>>
>>>>>>> Namespace Service
>>>>>>> <Implementation()> _
>>>>>>> Public Class EmployeeListService
>>>>>>> Inherits BaseService
>>>>>>>
>>>>>>> End Class
>>>>>>> End Namespace
>>>>>>>
>>>>>>> ところが、Serviceクラス内に<Transaction()>の記述があると
>>>>>>> [EQLL0036]It failed in the instance generation of component
>>>>>>> FrmEmployEdit.
>>>>>>> Please confirm processing and the access qualifier, etc. among
>>>>>>> constructors.
>>>>>>> のエラーが出ます。
>>>>>>>
>>>>>>> どのように回避すればよいのでしょうか?
>>>>>>> すみませんがご教授下さい。
>>>>>>>
>>>>>>> よろしくお願い致します。
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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 メーリングリストの案内