Есть ли у кого-нибудь пример кода использования виндзора замка InstallerFactory для заказа установки установщиков?Замок Виндзор - пример использования InstallerFactory
Не может найти его в документах или в других местах.
Приветствия
Есть ли у кого-нибудь пример кода использования виндзора замка InstallerFactory для заказа установки установщиков?Замок Виндзор - пример использования InstallerFactory
Не может найти его в документах или в других местах.
Приветствия
Вы можете использовать только InstallerFactory
в сочетании с FromAssembly
класса.
При использовании функции FromAssembly вы не должны полагаться на порядок, в котором ваши инсталляторы будут созданы или установлены. Он не является детерминированным, что означает, что вы никогда не знаете, каким он будет. Если вам необходимо установить установщиков в определенном порядке, используйте InstallerFactory.
В дополнение к этому вы должны наследовать класс InstallerFactory
и применять свои собственные правила, касающиеся создания экземпляров определенных типов установщика.
Все перечисленные выше методы имеют перегрузку, которая принимает экземпляр InstallerFactory. Большую часть времени вы не будете заботиться об этом, и все будет работать. Однако, если вам нужно иметь более жесткий контроль над установщиками из сборки (порядок воздействия, в котором они установлены, изменить способ их создания или установить только некоторые, а не все), которые вы можете наследовать от этого класса и предоставить свою собственную реализацию достичь этих целей. Класс
образца может выглядеть следующим образом:
public class CustomInstallerFactory : InstallerFactory
{
public override IEnumerable<Type> Select(IEnumerable<Type> installerTypes)
{
return installerTypes.Reverse(); // just as an example
}
}
А вот код для инициализации контейнера:
IWindsorContainer container = new WindsorContainer().Install(FromAssembly.This(new CustomInstallerFactory()));
Надеется, что это помогает!
Спасибо, очень полезно, так как не удалось найти информацию о кодах в документах Windsor – Raffaeu