Reputation: 436
I'm reading the Implicit Relationship Types Section in Autofac official documentation, but i don't really understand this line.
Lifetime scopes are respected using this relationship type.
Who can help me explain that what on earth does 'respected' means?
Upvotes: 2
Views: 49
Reputation: 43103
'respected' means Autofac will not override your registrations when you use Dynamic Instantiation.
This is elaborated in the next 2 lines:
If you register an object as
InstancePerDependency()
and call theFunc<B>
multiple times, you’ll get a new instance each time. However, if you register an object asSingleInstance()
and call theFunc<B>
to resolve the object more than once, you will get the same object instance every time.
Quoted from asker's comment:
I understand the detailed explanations in the next 2 lines and i have wrote demos for that, but what's the connection to lifetime scope? Can I understand that lifetime scope is important, and will influence the instantiation?
The connection to lifetime scope:
When you dependency-inject an object, do I give you a new object or the singleton?
Why lifetime scope is important and will influence instantiation:
Does the object have instance attributes that should not be accessed elsewhere? If I give you a new object, should it be a singleton that exists for the rest of the application's lifetime?
Upvotes: 1