0

ドキュメントInterceptorには、クラスごとに複数の属性を適用できると書かれています。それにもかかわらず、構文エラーduplicated attributeが発生しています。また、この投稿は、インターセプターをメソッドに適用できることを示唆していますが、できません! 私のテストは、クラスに適用した場合にのみパスします。さらに、インターセプターを特定のメソッドに対してのみ実行したい場合は面倒です。

[Interceptor (typeof (CastleWindsorAspect))]
[Interceptor (typeof (AnotherCastleWindsorAspect))]
public class CastleWindsorDomainType { }
4

1 に答える 1

1

実際、複数のインターセプターをコンポーネントに適用できます。流暢な登録 API と XML 構成を使用してそれを行うことができます。

あなたが示したように、カスタム属性を介してそれを行うこともできるはずですが、Windsorには複数回指定できないバグがあるようです(したがって、表示されているエラー)。これをバグとして報告し、その間に登録 API を使用して複数のインターセプターをアタッチすることをお勧めします。

メソッドにインターセプターを適用することはできますが、宣言的にはできません。代わりに、どのメソッドをプロキシするか、および/またはどのインターセプターをどのプロキシ メソッドに適用するかを指定IProxyGenerationHookまたは制御する必要があります。IInterceptorsSelector

于 2012-05-24T21:32:43.147 に答える