J'utilise Castle Windsor comme IoC container. J'ai une application qui a une structure similaire à ce qui suit:Castle Windsor: Inscrire automatiquement les types d'un ensemble qui implémente les interfaces d'un autre
- MyApp.Services.dll
IEmployeeService
IContractHoursService
...
- MyApp.ServicesImpl.dll
EmployeeService : MyApp.Services.IEmployeeService
ContractHoursService : MyApp.Services.IContractHoursService
...
-je utiliser le XML configuration au moment, et chaque fois que j'ajouter une nouvelle IService/paire de service, je dois ajouter un nouveau composant au XML fichier de configuration. Je veux passer tout cela à la fluent registration API mais je n'ai pas élaboré exactement la bonne recette pour faire ce que je veux pour le moment.
Quelqu'un peut-il aider? Les modes de vie seront tous singleton
.
Merci beaucoup à l'avance.
Cela ne fait pas 100% de ce dont j'ai besoin, cependant. Il y a différentes interfaces de service dans le premier assemblage, et j'ai un mappage un-un avec une instance concrète. Je devrais écrire le code ci-dessus encore et encore comme je le fais pour la config xml maintenant. –
Est-ce une option d'avoir une interface de base pour 'IEmployeeService'? C'est ce que j'ai fait. Vous pouvez demander à Windsor de rechercher cette interface, enregistrez tout ce qui se trouve en dessous (donc, plus précisément, IEmployeeService) avec les implémentations de l'assembly. Élargi la réponse avec un exemple. –
Vous voulez dire avoir un simple 'IService' avec aucun membre qui agit comme une interface de marqueur? Ça pourrait marcher, j'espérais juste pouvoir l'éviter. :) –