- 从 nuget 下载 Ninject.MVC3 包。
- 从 AppStart 文件夹中删除“ninject web common”部分
- 打开您的 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);
}
}
}
然后,您可以在 App_Start 文件夹中创建一个新的 NinjectConfig.cs 文件,并将以下代码添加到您的类中:
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
。