/*生命周期枚举 InstanceScope: InstancePerDependency:When you resolve a component that is instance per dependency, you get a new one each time. SingleInstance:When you resolve a single instance component, you always get the same instance no matter where you request it. InstancePerLifetimeScope:When you resolve the instance per lifetime scope component, you get a single instance per nested scope (e.g., per unit of work). InstancePerMatchingLifetimeScope:When you create a nested lifetime scope, you have the ability to “tag” or “name” the scope. A component with per-matching-lifetime scope will have at most a single instance per nested lifetime scope that matches a given name. This allows you to create a sort of “scoped singleton” where other nested lifetime scopes can share an instance of a component without declaring a global shared instance. InstancePerRequest:Instance per request builds on top of instance per matching lifetime scope by providing a well-known lifetime scope tag, a registration convenience method, and integration for common application types. Behind the scenes, though, it’s still just instance per matching lifetime scope. InstancePerOwned:The Owned implicit relationship type creates new nested lifetime scopes. It is possible to scope dependencies to the owned instance using the instance-per-owned registrations. ThreadScope:Each thread executing through ThreadStart() will then get its own instance of MyThreadScopedComponent - which is essentially a “singleton” in the lifetime scope. Because scoped instances are never provided to outer scopes, it is easier to keep thread components separated. */ { "components": [ ] } /*生命周期枚举 InstanceScope: InstancePerDependency:When you resolve a component that is instance per dependency, you get a new one each time. SingleInstance:When you resolve a single instance component, you always get the same instance no matter where you request it. InstancePerLifetimeScope:When you resolve the instance per lifetime scope component, you get a single instance per nested scope (e.g., per unit of work). InstancePerMatchingLifetimeScope:When you create a nested lifetime scope, you have the ability to “tag” or “name” the scope. A component with per-matching-lifetime scope will have at most a single instance per nested lifetime scope that matches a given name. This allows you to create a sort of “scoped singleton” where other nested lifetime scopes can share an instance of a component without declaring a global shared instance. InstancePerRequest:Instance per request builds on top of instance per matching lifetime scope by providing a well-known lifetime scope tag, a registration convenience method, and integration for common application types. Behind the scenes, though, it’s still just instance per matching lifetime scope. InstancePerOwned:The Owned implicit relationship type creates new nested lifetime scopes. It is possible to scope dependencies to the owned instance using the instance-per-owned registrations. ThreadScope:Each thread executing through ThreadStart() will then get its own instance of MyThreadScopedComponent - which is essentially a “singleton” in the lifetime scope. Because scoped instances are never provided to outer scopes, it is easier to keep thread components separated. */