DAL アセンブリのすべてのメソッドに対して LinFu インターセプターを作成しようとしています。私はこのようなことをすることができますが:
[Intercepts(typeof(IFirstRepository))]
[Intercepts(typeof(ISecondaryRepository))]
[Intercepts(typeof(IIAnotherRepository))]
public class DalInterceptor : IInterceptor, IInitialize
{
...
}
これは非常に面倒で、新しいリポジトリがアセンブリに追加されるたびに手動で更新する必要があります。
アセンブリ内の型ごとにプロキシ クラスを自動的に作成する方法はありますか?
アップデート:
著者自身 (Laureano 氏) からの提案を使用してプロキシ ビルダーを更新したので、次のようになりました。
Func<IServiceRequestResult, object> createProxy = request =>
{
var proxyFactory = new ProxyFactory();
DalInterceptor dalInterceptor = new DalLiteInterceptor();
return proxyFactory.CreateProxy<object>(dalInterceptor);
};
インターセプターは以前のようにセットアップされます。私が今抱えている問題は、プロキシ オブジェクトに元のオブジェクトのコンストラクタとメソッドが含まれていないことです (ジェネリック create メソッドでオブジェクトを使用していると推測しています)。
これを必要な型にキャストするだけですか、それとも根本的に間違ったことをしていますか?
ありがとう。