Comments (2)
Thanks for the help, I already have a simple solution. I share it for the next generations.
private static void WhenUseInto<T, TProxy, TImplementation>(ContainerBuilder containerBuilder) where T : TImplementation where TProxy : TImplementation where TImplementation : notnull
{
containerBuilder
.RegisterType<T>()
.Named<TImplementation>(typeof(TImplementation).Name);
containerBuilder
.RegisterType<TProxy>()
.WithParameter(ResolvedParameter.ForNamed<TImplementation>(typeof(TImplementation).Name))
.As<TImplementation>();
}
WhenUseInto<MyRepository, MyRepositoryProxyCache, IMyRepository>(containerBuilder);
from autofac.
There are a lot of other ways to do these sorts of things in Autofac.
- Lambdas - you can register a lambda expression for the target (
MyRepositoryProxyCache
) and resolve theMyRepository
directly into that rather than relying solely on fluent builder syntax. - Named/keyed services - you can register a keyed service for the backing repository and either use a lambda or constructor filtering attributes on the proxy.
I don't think we'll be adding this feature because there are other ways to already do the same thing. We also already have #1203 for specifically supporting a proxy-oriented relationship.
from autofac.
Related Issues (20)
- Delegate factory vs func factory - different resolution HOT 3
- Instantiated services not disposed on exception during IStartable HOT 1
- Service is not register in Eureka because of Autofac HOT 4
- Trouble with Autofac Container Disposal when Resolving Dependencies in Another Method/Class HOT 7
- ```Scope.TryResolve(FactoryTypes, out var Instance)``` throws HOT 1
- [Xamarin.iOS] Application crashes during apple review process HOT 1
- AttributedMetadataModule slows down service resolution considerably HOT 1
- Type equivalence for the embedded interop types not working HOT 1
- Decorators does not follow ExternallyOwned - problem with lifetime scope on decorator with `IDisposable` implementation
- Are the container and the root lifetime scope different objects after the first child lifetime scope begins? HOT 2
- Add option to fail on ambiguous service resolution HOT 3
- Required properties not working with WebAPI controllers HOT 6
- Configure Autofac so that it's ExternallyOwned for default, and "InternallyOwned" for separate services HOT 1
- Collection Expressions-y Injections HOT 7
- Startable Singleton instantiated twice HOT 1
- AutoFac WebForms object[] problem HOT 5
- Resolutions with many TypedParameter of the same type HOT 2
- ComponentNotRegisteredException thrown when using NUnit Console Runner HOT 1
- Can Autofac Dispose queue cause buffer overflow or heap corruption? HOT 1
- Register service with Interceptor, then register multiple decorator, auto apply Interceptor to the outermost decorator HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from autofac.