在mvc3中帮助Ninject!

时间:2011-02-08 22:10:44

标签: asp.net-mvc dependency-injection repository repository-pattern ninject

继承我的问题。 我的应用程序有几个项目。

  • WEB(控制器和视图)
  • 服务
  • 数据(edmx和存储库)
  • 实体(POCO)
  • 测试

所以在我的Web项目中,我有ninject配置

[assembly: WebActivator.PreApplicationStartMethod(typeof(PublicPanama.AppStart_NinjectMVC3), "Start")]

    namespace Web{
        public static class AppStart_NinjectMVC3 {
            public static void RegisterServices(IKernel kernel) {
                //kernel.Bind<IThingRepository>().To<SqlThingRepository>();
                kernel.Bind<IContributorService>().To<ContributorService>();
            }

            public static void Start() {
                // Create Ninject DI Kernel 
                IKernel kernel = new StandardKernel();

                // Register services with our Ninject DI Container
                RegisterServices(kernel);

                // Tell ASP.NET MVC 3 to use our Ninject DI Container 
                DependencyResolver.SetResolver(new NinjectServiceLocator(kernel));
            }
        }
    }

问题是,我还想添加

kernel.Bind<IRepository>().To<Repository>();

但我的Web项目没有对Data项目的引用..只是为此添加引用似乎没有..

我错过了什么? 请帮忙!

1 个答案:

答案 0 :(得分:1)

http://www.planetgeek.ch/2010/11/13/official-ninject-mvc-extension-gets-support-for-mvc3/

不要忘记阅读@Brad Wilson的博客系列文章(参见文章)