在程序集、ASP NET vNext 依赖项注入中绑定默认接口
本文关键字:注入 绑定 默认 接口 依赖 程序集 ASP NET vNext | 更新日期: 2023-09-27 18:32:50
在带有Ninject的ASP Net 4中,为了将接口映射到默认类(即IMyClass到MyClass),我可以执行以下操作:
kernel.Bind(x =>
{
x.FromAssemblyContaining<ILibraryMarker>()
.SelectAllClasses()
.BindDefaultInterface();
});
我不知道如何在ASP NET vNext中做到这一点,因为它有自己的IoC。
有什么想法吗?
不幸的是,
这在 ASP.NET 5 DI 中是不可能的。您必须明确注册所有服务。这样:
services.AddScoped<ILibraryMarker, LibraryMarker>();
请参阅 https://github.com/aspnet/DependencyInjection/issues/322,这可能会对您有所帮助。
就历史价值而言,Ninject 一直包含到 beta6 这里,但此后一直没有更新或发布。也许这可能是某人接管的主动权?
我希望这有所帮助。