代码之家  ›  专栏  ›  技术社区  ›  Mark Boltuc

为ninject配置ASP.NET MVC 3预览版

  •  4
  • Mark Boltuc  · 技术社区  · 14 年前

    我正在给ASP.NET MVC 3 Preview 1一个机会,并想用它配置ninject。最好的方法还是使用 ninject.web.mvc extension posts 不跑了。它抛出“激活IControllerFactory时出错”异常。

    3 回复  |  直到 14 年前
        1
  •  4
  •   Steven Hook    14 年前

    public static void RegisterServices(IKernel kernel) 
    {
        kernel.Bind<IProductRepository>().To<SqlProductRepository>();
        kernel.Bind<IControllerFactory>().To<NinjectControllerFactory>();
    }
    

    在哪里可以找到NinjectControllerFactory。。。

    using Ninject.Web.Mvc;
    

    所以是的,您仍然需要Ninject的mvc扩展。

    MvcServiceLocator也可能有一些奇怪的行为,如中所示 this post

        2
  •  6
  •   casperOne    14 年前

    你不需要” “在MVC 3中配置Ninject,正如我在一篇题为 " Dependency Injection in ASP.NET MVC 3 using Ninject " .

        3
  •  1
  •   viggity    14 年前

    _kernel.TryGet(serviceType)
    

    如果您使用的是unity,请确保将解析包装在try/catch块中,并在catch中返回null。尽管这会有点慢,因为您并不想让catch块被视为执行流的正常部分。