В Ansible 2.2 вы можете использовать end_play
с модулем meta :
- meta: end_play
Вы также можете указать when
для условного окончания воспроизведения:
- meta: end_play
when: upgrading.stdout == "no"
Обратите внимание, однако, что задача не указана в выводе загружаемого файла, независимо от того, заканчивается ли игра. Кроме того, задача не учитывается в резюме. Таким образом, вы можете сделать что-то вроде:
- block:
- name: "end play if nothing to upgrade"
debug:
msg: "nothing to upgrade, ending play"
- meta: end_play
when: upgrading.stdout == "no"
, которое объявит конец воспроизведения прямо перед его завершением, только когда условие выполнено. Если условие не выполнено, вы увидите, что задача с именем end play if nothing to upgrade
была соответствующим образом пропущена, что предоставит пользователю дополнительную информацию о том, почему игра закончилась или нет.
Конечно , это приведет только к завершению текущего воспроизведения, а не все , оставшиеся в проигрывателе.
Итак, я, наконец, наткнулся на место, которое объясняет поведение.
Так ответьте: нет, в Виндзорском замке нет логики логического автоматического образа жизни.
Причина в моем случае:
Они используют эти атрибуты Виндзорского замка , которые можно распределить по реализациям (компонентам), чтобы указать свой стиль жизни:
/// <summary>
/// Message Box factory.
/// </summary>
[Singleton]
public class MessageBoxFact : IMessageBoxFact
{
или
[Transient]
Лучший способ справиться с этим - разделить вашу регистрацию на Установщики и использовать регистрацию по соглашению для явной регистрации определенных групп компонентов с желаемой конфигурацией.
Например:
container.Register(Classes.FromThisAssembly()
.InSameNamespaceAs<FooManager>()
.WithService.DefaultInterfaces()
.LifestyleTransient());
Таким образом, это ясно и ясно, что происходит.
Чтобы ответить на ваш вопрос в том виде, в котором он задан (потому что на него можно ответить) - нет, у Виндзорского замка нет никакого волшебного соглашения о наименовании, подразумевающего стиль жизни.