1、InstancePerDependency
Создайте новый уникальный экземпляр для каждой зависимости или вызова. Это также стандартный способ создания экземпляров.
Официальная документация объясняет: Настройте компонент так, чтобы каждый зависимый компонент или вызов Resolve() получал новый, уникальный экземпляр (по умолчанию).
2、InstancePerLifetimeScope
В домене жизненного цикла каждая зависимость или вызов создаёт единый общий экземпляр, и для каждого отдельного домена жизненного цикла экземпляр уникален и не является общим.
Официальная документация объясняет: Настройте компонент так, чтобы каждый зависимый компонент или вызов Resolve() в одном ILifetimeScope получал одинаковый общий экземпляр. Зависимые компоненты в разных сроках жизни получат разные экземпляры.
3、InstancePerMatchingLifetimeScope
В определённом домене жизненного цикла каждая зависимость или вызов создаёт единый общий экземпляр. Экземпляры в родительском домене могут быть совместны в дочернем домене идентичности идентифицированного домена жизненного цикла. Если во всей иерархии наследования не найдено идентифицированный домен жизненного цикла, создаётся исключение: DependencyResolutionException.
Официальная документация объясняет: Настройте компонент так, чтобы каждый зависимый компонент или вызов Resolve() в ILifetimeScope, помеченном любым из предоставленных тегов, получал одинаковую совместную экземпляр. Зависимые компоненты в жизненных областях, которые являются дочерними чертями отмеченной области, будут использовать экземпляр родителя. Если в иерархии не найдено правильно помеченного область применения, создаётся исключение DependencyResolution.
4、InstancePerOwned
В жизненном цикле экземпляра, созданного экземпляром, принадлежащим в домене жизненного цикла, каждый зависимый компонент или вызов метода Resolve() создаёт один общий экземпляр, а дочерний домен жизненного цикла разделяет экземпляры в домене родительского жизненного цикла. Если в иерархии наследования не найден подходящий домен жизненного цикла с дочерними экземплярами, создаётся исключение: DependencyResolutionException.
Официальная документация объясняет: Настройте компонент так, чтобы каждый зависимый компонент или вызов Resolve() в ILifetimeScope, созданном собственным экземпляром, получал одинаковый общий экземпляр. Зависимые компоненты в lifetime scope, которые являются дочерними делами владелического экземпляра, будут делить экземпляр родителя. Если в иерархии не найдено соответствующее владенческое область действия экземпляра, создаётся исключение DependencyResolution.
5、SingleInstance
Каждый раз, когда вы зависите от компонента или вызываете метод Resolve(), получаете один и тот же общий экземпляр. На самом деле, это модель Singleton.
Официальная документация объясняет: настройте компонент так, чтобы каждый зависимый компонент или вызов Resolve() получал одинаковый общий экземпляр.
6、InstancePerHttpRequest
В контексте HTTP-запроса используйте экземпляр компонента. Доступен только для asp.net MVC разработки. Официальная документация объясняет: Поделиться одним экземпляром компонента в рамках одного HTTP-запроса. Официальная ссылка на документацию: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html
|