Я пытаюсь перехватить мои вызовы на моем контроллере, но по какой-то причине они не перехватываются.
Я в основном пытаюсь заставить этот пример работать: http://simpleinjector.readthedocs.org/en/latest/InterceptionExtensions.html
Здесь также есть другая информация в разделе перехвата: http://simpleinjector.readthedocs.org/en/latest/advanced.html
У меня такое ощущение, что я неправильно настраиваю Контейнер. Может ли кто-нибудь показать мне, как мне нужно изменить мой основной, чтобы увидеть "Intercepted!!!"
после выполнения вызовов на контроллере? Кроме того, может ли кто-нибудь сказать мне, была ли установка контейнера неправильной, и если да, объясните мои ошибки.
Код:
static void Main()
{
Console.WriteLine("Start");
RedisController2 redisController = new RedisController2();
Container _container = new Container();
_container.InterceptWith<MonitoringInterceptor>(type => type == typeof(IRedisController2));
_container.RegisterSingle<MonitoringInterceptor>();
redisController.PrintSomething();
redisController.PrintOther();
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
internal class MonitoringInterceptor : IInterceptor
{
public MonitoringInterceptor()
{
}
public void Intercept(IInvocation invocation)
{
invocation.Proceed();
//var decoratedType = invocation.InvocationTarget.GetType();
Console.Write("Intercepted!!!");
Console.ReadKey();
}
}