- Скачать Ninject.MVC3 package from nuget.
- Удалить «Ninject веб-общий» часть из папки AppStart
- Откройте global.asax и изменить свой код, чтобы выглядеть на следующий
namespace OnBoardingMVC
{
public class MvcApplication : Ninject.Web.Common.NinjectHttpApplication
{
protected override IKernel CreateKernel()
{
var kernel = new StandardKernel();
NinjectConfig.RegisterServices(kernel);
return kernel;
}
protected override void OnApplicationStarted()
{
base.OnApplicationStarted();
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
}
Тогда вы можете создать новый файл NinjectConfig.cs в папке App_Start и добавьте следующий код в свой класс:
namespace OnBoardingMVC
{
public class NinjectConfig
{
public static void RegisterServices(IKernel kernel)
{
// e.g. kernel.Load(Assembly.GetExecutingAssembly());
kernel.Bind(typeof(IEmployeeUow))
.To(typeof(EmployeeUow))
.WithConstructorArgument("adapter", <Add new AdapterVariable here>)
;
}
}
}
Затем вы можете создать класс EmployeeUow
, который наследуется от класса UnitOfWork
, а также создать IEmployeeUow
, который наследуется от IUnitOfWork
, и адаптер контекста будет параметром для конструктора, и этот конструктор также передаст адаптер базовому конструктору UnitOfWork
класс.
ОК, я разработал его – dfang