Я думаю, что это ошибка в Spring.NET Spring.Web.Mvc.SpringControllerFactory:
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
IController controllerInstance = null;
if (controllerType != null)
{
IDictionary objectsOfType = ApplicationContext.GetObjectsOfType(controllerType);
if (objectsOfType.Count > 0)
{
controllerInstance = (IController)objectsOfType.Cast<DictionaryEntry>().First<DictionaryEntry>().Value;
}
}
else // there should be if (contollerInstance == null)
{
controllerInstance = base.GetControllerInstance(requestContext, controllerType);
}
this.AddActionInvokerTo(controllerInstance);
return controllerInstance;
}
Если controllerInstance не может быть получен из контейнера Spring - его следует извлечь из базового класса (DefaultControllerFactory).