我正在使用 Castle Windsor 来处理我的依赖注入,到目前为止它一直运行良好。
然而,我现在正在尝试扩展我的项目并添加一些额外的库 - 我现在正在努力寻找利用 Castle 的最佳方法。
我目前有以下程序集
MyProject.Interfaces(包含 IDBContext 接口)
MyProject.BusinessLogic(包含 Castle Windsor 实现)
MyProject.DataAccess(包含 IDBContext 的实现)
我目前有一个名为 DBContextInstaller 的安装程序,它仅实现以下内容:
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(AllTypes.FromThisAssembly()
.BasedOn<IDBContext>()
.WithService
.DefaultInterface()
.Configure(reg => reg.LifeStyle.PerWebRequest));
}
我现在在这个项目中有一个新的程序集 - 让我们称之为 MyProject.UserService 并且它恰好有 IDBContext 的新具体实现。
所以我的问题 - 我如何更改我的 Container.Register 语句以使其检查多个库。注意我完全希望将来有越来越多的库添加到这个场景中。我希望这个安装程序能够找到所有实现。
TIA
您可以使用 AllTypes.FromAssemblyInDirectory...
container.Register(AllTypes.FromAssemblyInDirectory(new AssemblyFilter(folderPath)));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)