/*生命周期枚举 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": [ { "type": "Tiger.Business.InterfaceServiceNew,Tiger.Business", //旧系统用InterfaceService,新系统用InterfaceServiceNew "services": [ { "type": "Tiger.IBusiness.IInterfaceService,Tiger.IBusiness" } ], "autoActivate": true, "instanceScope": "single-instance", //生命周期 "injectProperties": true } ] } /*生命周期枚举 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. */