Я использую StructureMap , чтобы получить экземпляр интерфейса, и я обертываю его в прокси с Castle DynamicProxy :
var proxy = generator.CreateInterfaceProxyWithTarget<T>(
ObjectFactory.GetInstance<T>()
, new SwitchInterceptor(isGranted, foundUser));
В перехватчике типа IInterceptor
у меня есть этот код:
public override void Intercept(IInvocation invocation)
{
if (this.CanExecute)
{
invocation.Proceed();
}
}
Когда CanExecute равен true
, он всегда работает, но иногда , когда CanExecute равен false
, я получил странный NullReferenceException
с очень маленькой трассировкой стека:
at Castle.Proxies.IGrantedReadProxy.ExecuteSomething()
Я действительно потерян и не знаю, где искать. Вы хоть представляете, в чем проблема?