我正在嘗試讓交叉切割問題攔截在我的控制器上的呼叫,但由於某些原因,他們沒有被攔截。簡單的噴油器,功能沒有被攔截?
我基本上是想在這裏得到了例如工作: 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();
}
}