It would be much easier to go with the installation of the constructor, and you have a controllerfactory. If you can, do not use a service locator (your ServiceResolver) if you can avoid constructor injection.
There is information about it on Adding a factory controller to ASP MVC
, StructureMap, , Unity, .