Dependency injection MVC4和Unity,向WebAPI控制器注入依赖项

Dependency injection MVC4和Unity,向WebAPI控制器注入依赖项,dependency-injection,controller,asp.net-mvc-4,asp.net-web-api,unity-container,Dependency Injection,Controller,Asp.net Mvc 4,Asp.net Web Api,Unity Container,我是MVC新手,遇到了一个问题。我设法找到的所有示例都涉及简单控制器,而不是API控制器。也许任何人都有一个关于如何在应用程序_Start()上将依赖项注册到Unity并调整代码的工作代码示例,以便在创建ApicController类后,将正确的依赖项传递给它。假设这是我的控制器的定义: public class BookController : ApiController { private IBookService bookSerivce; public BookContr

我是MVC新手,遇到了一个问题。我设法找到的所有示例都涉及简单控制器,而不是API控制器。也许任何人都有一个关于如何在应用程序_Start()上将依赖项注册到Unity并调整代码的工作代码示例,以便在创建ApicController类后,将正确的依赖项传递给它。假设这是我的控制器的定义:

public class BookController : ApiController
{
    private IBookService bookSerivce;

    public BookController (IBookService bookSerivce)
    {
        this.bookSerivce= bookSerivce;
    }
}
我希望通过以下方式统一注册:

UnityContainer container = new UnityContainer();

// Register services
container.RegisterType<IBookService , BookService>();

// Register controllers
container.RegisterType<IHttpController, BookController>("Books");
UnityContainer container=newunitycontainer();
//注册服务
container.RegisterType();
//寄存器控制器
容器。注册表类型(“账簿”);
现在,我需要做什么才能让MVC使用unity来解析依赖关系,开始创建这个控制器的实例并将依赖关系传递给它

我使用的是MVC4。任何想法都将不胜感激


干杯

看起来您正在使用WebAPI。查看这篇关于ASP.NET WebAPI中的Unity集成的文章:


Mark Seemann有两篇关于WebAPI依赖注入的文章


如果您用Unity替换Castle Windsor,那么示例的工作原理应该是一样的。

那么您使用的是Web API还是MVC?我看到了Seemann的帖子,但不幸的是,我太快放弃了它。我对它进行了更好的检查,并将代码改为使用Unity而不是CW,它就像一个符咒!感谢链接已经不存在了。@MattSpradley修复了损坏的链接