1

特別なインターフェースのみ、または基本クラスによってメソッドをフックするようにInterceptorを構成する可能性はありますか?現在、1つのDBへの接続範囲で動作するInterceptorを登録しています。ここで、別のデータベースと連携する別のスコープを追加し、2番目のスコープのメソッドをフックする別のインターセプターを追加したいと思います。呼び出しプロパティのターゲットをチェックする代わりに、xmlファイルを介してインターセプターを構成することが可能です。

コンポーネントを介してインターセプターを追加しました:

 <component
    type="Common.IoC.SessionScopeInterceptor, Common"
    lifestyle="transient">
 </component>

AFAIKこのインターセプターは、ウィンザーコンテナーに登録されているすべてのクラスのすべてのメソッドをインターセプトします。

このようなものを追加したいです^

 <component
    type="Common.IoC.SessionScopeInterceptor, Common"
    lifestyle="transient"
    interceptOnlyVirtualMethods="true"
    interceptClass="Common.IoC.SessionScope1, Common"
    >
 </component>
4

1 に答える 1

2

希望する動作を実装する独自のAbstractFacilityを作成する必要があります。基本的に、この質問への回答でMikaelSundbergが行ったのと同様の何かを実装する必要があります。

于 2012-05-22T14:08:05.193 に答える