Im trying to use StructureMap to initialize my ValuesController that derivate from ApiController but i'm getting an exception that says:
The IControllerFactory '...CustomControllerFactory' did not return a controller for the name 'api'.
Here is the code..
public class CustomControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
if (controllerType == null)
return null;
return (Controller)ConcretizationsManager.GetInstance(controllerType);
}
}
basically ConcretizationsManager is a wrapper of StructureMap.. This method always runs ok for Controllers of Controller type, but for APIController dont.
Anyone to get me to the right direction? Very thanks
For the Web API I am using Custom ServiceActivator like this (i.e. different factory then for MVC):
Where Factory is my wrapper of the Sturcturemap API
And in the
App_Start\WebApiConfig.cs
I do register that like this:There is first party support for this with StructureMap 3
StructureMap 4 has been released and could be used also, however there may be slight tweaks needed. I have not confirmed for myself.