ASP.NET MVC 2 Preview 1 - Problem compiling StructureMap Controller Factory
asp.net-mvc, asp.net-mvc-2, structuremap
Solution
The signature of this method changed. There is now a first argument of RequestContext:
protected override IController GetControllerInstance(
RequestContext requestContext,
Type controllerType)
You'll also need to change your call to base.GetControllerInstance:
if (controllerType == null)
return base.GetControllerInstance(requestContext, controllerType);
Problem
I have a project for which I use StructureMap for dependency injection. The project compiles fine as a MVC project but after moving everything to a MVC2 project I am now receiving the following error: Test.Web.Controllers.StructureMapControllerFactory.GetControllerInstance(System.Type)': no suitable method found to override C:\Test\Web\Controllers\StructureMapControllerFactory.cs 11 40 Test.Web Here is my StructureMapControllerFactory: ``` using System; using System.Web.Mvc; using StructureMap; namespace Test.Web.Controllers { public class StructureMapControllerFactory : DefaultControllerFactory { protected override IController GetControllerInstance(Type controllerType)** { IController result = null; try { if (controllerType == null) return base.GetControllerInstance(controllerType); result = ObjectFactory.GetInstance(controllerType) as Controller; } catch (StructureMapException) { System.Diagnostics.Debug.WriteLine(ObjectFactory.WhatDoIHave()); throw; } return result; } } } ``` I have found one post semi-related to this issue but it did not offer any insight as to how to resolve my issue: MVC 2 preview 1 - methods with parameters in the controller fail to load Obviously I must be missing a change from the 1.0-2.0 progression, but I am not sure what changed. Any help is always appreciated.