Я настроил ninject для моего проекта в файле global.asax ...
protected void Application_Start()
{
RegisterDependencyResolver();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
private void RegisterDependencyResolver()
{
var kernel = new StandardKernel();
kernel.Bind<PteDotNetCore.IBlogManager>().To<PteDotNetCore.BlogManager>();
DependencyResolver.SetResolver(new PteDotNet.Resolution.PteDotNetDependencyResolver(kernel));
}
У меня есть контроллер с 2 константами ....
public CodeController()
{
}
public CodeController(IBlogManager injectedManager)
{
manager = injectedManager;
}
Когда я удаляю строку:
kernel.Bind<PteDotNetCore.IBlogManager>().To<PteDotNetCore.BlogManager>();
из первого блока кода мой конструктор по умолчанию используется при добавлении строки, затем используется конструктор, который принимает интерфейс.
Пожалуйста, может кто-нибудь сказать мне, какие решения MVC принимает для выбора конструктора? Это не совсем ясно.