Open ArnaudB88 opened 5 years ago
Yes, it is a new development and still lucks interception support. You can still use old method for the interception.
@ArnaudB88 This can be done with RegisterFactory, but you need to set up the interception proxy as part of your "factoryFunc", which is a bit messy
container.RegisterFactory<IFileSystemService>(c =>
Intercept.ThroughProxy(
new FileSystemWithWaitAndRetry(
new FileSystemService(container.Resolve<System.IO.Abstractions.IFileSystem>()),
container.Resolve<ILogger>()),
new InterfaceInterceptor(),
new[]
{ new ImpersonationBehavior(
sSettings.ImpersonatorDomain, sSettings.ImpersonatorUsername,
sSettings.ImpersonatorPassword, container.Resolve<ILogger>())
}));
I am open to suggestions on how to make it more elegant.
I'll try and put together a pull request on the weekend
Would you like to discuss it first?
Is there any about this issue? Is there an elegant way to RegisterFactory and still pass the InterceptionBehaviour? I'm working with unity.container, abstractions and interception 5.11.1
Is there a way to do this in 5.11.1:
unityContainer.RegisterType<TestRepository>( new InjectionFactory(container => new TestRepository()), new Interceptor<VirtualMethodInterceptor>(), new InterceptionBehavior<PolicyInjectionBehavior>());
Hi,
Since the InjectionFactory is deprecated, I am trying to use the RegisterFactory method. I have registrations which use a factory and also have interceptor(s):
(This is a service for filesystem access with a 'wait and retry' decorator. Interception adds impersonation)
How can the RegisterType be rewritten to RegisterFactory and still pass the InterceptionBehaviour? Is the RegisterFactory method missing some functionality?
Thanks!