fir*_*fly 2 castle-windsor auto-registration
container.Register(
AllTypes.Pick().FromAssembly(typeof (UserRepository).Assembly)
.WithService.FirstInterface());
Run Code Online (Sandbox Code Playgroud)
当前,如果接口也位于同一程序集中,则上面的代码可以正常工作,但是如果IUserRepository来自不同的程序集,则该代码将崩溃。
是否可以从两个不同的程序集中自动注册?我在这里想念什么吗?
是的,可以在不同的程序集中定义接口的地方定义自动注册。尽管使用了稍微不同的语法,但是我们做到了:
container.Register(AllTypes
.FromAssemblyContaining<ConfigurationService>()
.Where(t => t.Name.EndsWith("Service", StringComparison.Ordinal))
.WithService
.FirstInterface()
.Configure(reg => reg.LifeStyle.PerWebRequest));
Run Code Online (Sandbox Code Playgroud)
我不能说不同的API用法是否有所不同,但我认为不会。而是,我想您导致错误的原因是,也许包含接口的程序集不可用。
检查Fusion是否可以从该应用程序中加载类型。
| 归档时间: |
|
| 查看次数: |
1463 次 |
| 最近记录: |