Перехват, связанный с уровнем метода, с помощью простого инжектора

С Unity я могу быстро добавить перехват на основе атрибутов, как это

public sealed class MyCacheAttribute : HandlerAttribute, ICallHandler
{
   public override ICallHandler CreateHandler(IUnityContainer container)
   {
        return this;
   }

   public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext)
   {
      // grab from cache if I have it, otherwise call the intended method call..
   }
}

Тогда я регистрируюсь в Unity следующим образом:

container.RegisterType<IPlanRepository, PlanRepository>(
    new ContainerControlledLifetimeManager(),
    new Interceptor<VirtualMethodInterceptor>(),
    new InterceptionBehavior<PolicyInjectionBehavior>());

В моем коде репозитория я могу выборочно декорировать определенные методы для кэширования (со значениями атрибутов, которые можно настраивать индивидуально для каждого метода):

    [MyCache( Minutes = 5, CacheType = CacheType.Memory, Order = 100)]
    public virtual PlanInfo GetPlan(int id)
    {
        // call data store to get this plan;
    }

Я изучаю похожие способы сделать это вПростой инжектор, Из того, что я прочитал и искал, похоже, что доступен только перехват уровня интерфейса / типа. Но мне бы хотелось, чтобы вариант украшать отдельные методы с этим типом контролируемого поведения перехвата. Любой совет?

[Редактировать: перемещеноAutofac к егособственный вопрос сосредоточить внимание на этом вопросе]

Ответы на вопрос(1)

Ваш ответ на вопрос