在程序集、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 vNext 依赖项注入中绑定默认接口

不幸的是,

这在 ASP.NET 5 DI 中是不可能的。您必须明确注册所有服务。这样:

services.AddScoped<ILibraryMarker, LibraryMarker>();

请参阅 https://github.com/aspnet/DependencyInjection/issues/322,这可能会对您有所帮助。

就历史价值而言,Ninject 一直包含到 beta6 这里,但此后一直没有更新或发布。也许这可能是某人接管的主动权?

我希望这有所帮助。