Click here to Skip to main content
13,260,383 members (42,338 online)

MVC 4 and Unity, injecting dependencies to WebAPI controllers

Mario Majčica asked:

Open original thread
Dear all,

I'm new to MVC and I got stuck on a problem. All the examples I managed to find refer to simple controllers and not to API controllers. Perhaps any one has a working code example on how to, on Application_Start(), register the dependencies to Unity and tweak the code so that once my apicontroller class is created, the right dependency is passed to it. Let's say that this is the definition of my controller:

public class BookController : ApiController
    private IBookService bookSerivce;
    public BookController (IBookService bookSerivce)
        this.bookSerivce= bookSerivce;

And I expect to register it in unity in the following way:

UnityContainer container = new UnityContainer();
// Register services
container.RegisterType<IBookService , BookService>();
// Register controllers
container.RegisterType<IHttpController, BookController>("Books");

Now, what do I need to do in order to make MVC use unity for resolving the dependencies, start creating instances of this controller and passing the dependencies to it?

I'm using MVC 4. Any idea will be appreciated.

Tags: MVC, Unity, DI, WebAPI


When answering a question please:
  1. Read the question carefully.
  2. Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  3. If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
Let's work to help developers, not make them feel stupid.
Please note that all posts will be submitted under the The Code Project Open License (CPOL).

Advertise | Privacy |
Web03 | 2.8.171114.1 | Last Updated 26 Mar 2009
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100