АОП с Autofac и DynamicProxy2 - PullRequest
       37

АОП с Autofac и DynamicProxy2

1 голос
/ 26 января 2011

Я использую Autofac с DynamicProxy2 для перехвата моих классов, как это

builder.RegisterType<Calculator>().As<ICalculator>().EnableInterfaceInterceptors()
                .InterceptedBy(typeof (CallLogger));

Это будет перехватывать все методы на данном интерфейсе.

Есть ли способ перехватить только определенные методы интерфейса?

1 Ответ

2 голосов
/ 28 января 2011

Есть несколько способов, о которых я могу подумать, и, возможно, есть и другие.

Вы можете создать собственный атрибут, такой как [LogCall] или [DoNotLogCall] (отказаться или отказаться) ипримените это к методам перехвата, затем проверьте наличие атрибута внутри CallLogger.

. Или вы можете настроить CallLogger с именами (или правилами для поиска) методов, которые должныбыть зарегистрирован.

...