Я пытаюсь перекрещивать озабоченность перехватывать мои вызовы на моем контроллере, но по какой-то причине они не перехватываются.Простой инжектор, функция не перехвачена?
Я в основном пытаюсь получить пример здесь работать: 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();
}
}