Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 20690|Ответ: 1

[Источник] Краткое описание методологии создания экземпляров autofac

[Скопировать ссылку]
Опубликовано 05.01.2018 21:25:48 | | |

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




Предыдущий:asp.net Файл каталога Get site пуст
Следующий:Замена ядра GeckoFx Firefox, отключение предупреждения о всплывающем окне системы
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com