Je voudrais utiliser "stratégie pattern" avec 2 projets Web, mon fichier de configuration (et uniquement avec le fichier de configuration):Castle windsor: comment ne pas charger tous les composants dans une configuration château windsor xml quand "Resolve" est appelé
<?xml version="1.0"?>
<configuration>
<components>
<!-- container ORM -->
<component id="DALReseauContainer" type="ReseauRules.Db.BLL.DbReseauWorkingContextContainer, ReseauRules" service="ReseauConnector.BLL.IReseauWorkingContextContainer, ReseauConnector">
</component>
<!-- remote controler (Web Service) -->
<component id="remoteReseauManager"
type="ReseauConnector.BLL.RemoteReseauManager, ReseauConnector"
service="ReseauConnector.BLL.IReseauManager, ReseauConnector"
lifestyle="transient">
</component>
<!-- local controler -->
<component id="localReseauManager"
type="ReseauRules.Db.BLL.DbReseauManager, ReseauRules"
service="ReseauConnector.BLL.IReseauManager, ReseauConnector"
lifestyle="transient">
<parameters>
<container>${DALReseauContainer}</container>
</parameters>
</component>
</components>
</configuration>
projet A utilise "remoteReseauManager" et les références ne ReseauConnector, peuvent appeler
container.Resolve<IReseauManager>("remoteReseauManager");
projet B utilise "localReseauManager" et les références ReseauConnector eT ReseauRules, peuvent appeler
container.Resolve<IReseauManager>("localReseauManager");
quand je l'appelle
IWindsorContainer container = new WindsorContainer(new Castle.Windsor.Configuration.Interpreters.XmlInterpreter());
Windsor tente de résoudre chacun des composants, et comme dans le projet A, ReseauRules n'existe pas, Windsor ne peut pas charger ReseauRules (comme prévu).
Comment dire à Windsor ne pas charger un composant dans ce contexte (fichier de configuration)?
Merci beaucoup.
grâce mais chaque application (par exemple: dans chaque web.config) peut avoir le même fichier de configuration du château, défini dans Je vais étudier une implémentation de IWindsorInstaller –
Oui, je l'ai compris, mais ce que je veux dire c'est que cela ne vous facilite pas la vie - cela rend la vie plus difficile. –