Ninject proyecto ASP.NET MVC 5¶
Fuentes
Pro ASP.NET MVC 5 de Apress
—
Añadir Ninject a un proyecto ASP.NET MVC 5.
Instalación¶
Install-Package Ninject
Install-Package Ninject.Web.Common
Install-Package Ninject.MVC5
Configuración¶
Crear directorio Infrastructure
y crear archivo (class) NinjectDependencyResolver.cs
Añadir:
using Ninject;
using System;
using System.Collections.Generic;
using System.Web.Mvc;
namespace Practica.Infrastructure
{
public class NinjectDependencyResolver : IDependencyResolver
{
private IKernel _kernel;
public NinjectDependencyResolver(IKernel kernel)
{
_kernel = kernel;
AddBindings();
}
public object GetService(Type serviceType)
{
return _kernel.TryGet(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
return _kernel.GetAll(serviceType);
}
private void AddBindings()
{
// Añadir los binds aquí.
_kernel.Bind<IMiInterface>().To(MiClaseDerivada)();
}
}
}
Registrar el Dependency Resolver¶
Abrir App_Start/NinjectWebCommon.cs
y en el metodo RegisterServices
, añadir:
private static void RegisterServices(IKernel kernel)
{
System.Web.Mvc.DependencyResolver.SetResolver(
new Practica.Infrastructure.NinjectDependencyResolver(kernel)
);
}