- 从nuget下载Ninject.MVC3包。
- 从AppStart的文件夹中删除“ninject网上常见的”一块
- 打开你的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
类,并创建一个从IUnitOfWork
继承的IEmployeeUow
,并且上下文适配器将作为构造函数的参数,并且构造器也将该适配器传递给UnitOfWork
的基础构造函数类。
好吧,我解决了它 – dfang 2012-04-17 13:44:52