I would like to know if it is possible to do dependency injection (custom constructor) in a ASP.NET Web API without the use of third party libraries such as Unity or StructureMap and without Entity Framework.
What I would like to achieve is have a controller with a constructor such as:
public Controller(IDatabaseConnector connector) { ... }
I know for MVC you can make a custom ControllerFactory by inheriting from DefaultControllerFactory and then overriding the GetControllerInstance function. So I am sure there is an alternative for Web API.
Best Answer
At first you should define your own
IHttpControllerActivator
:Then you should replace the default activator in the
Global.asax
:Now you can use your rich
Controller
constructor: