从两个不同的组件,温莎城堡自动注册?
-
20-09-2019 - |
题
container.Register(
AllTypes.Pick().FromAssembly(typeof (UserRepository).Assembly)
.WithService.FirstInterface());
目前上面的代码将正常工作,如果该接口,可以在相同的组件,但它会炸毁如果IUserRepository是从不同的组件。
时自动配准来自两个不同的组件可能?我失去了一些东西在这里?
解决方案
是,这是可能的,以限定自动注册其中接口在不同的组件来定义。我们这样做,虽然我们使用一个稍微不同的语法:
container.Register(AllTypes
.FromAssemblyContaining<ConfigurationService>()
.Where(t => t.Name.EndsWith("Service", StringComparison.Ordinal))
.WithService
.FirstInterface()
.Configure(reg => reg.LifeStyle.PerWebRequest));
我不能说,如果不同的API使用有差别,但我认为事实并非如此。相反,我猜您遇到的错误的原因是,也许包含接口组件不可用。
检查是否融合可以从该应用程序加载所有类型。
不隶属于 StackOverflow