IControllerFactory'Spring.Web.Mvc.SpringControllerFactory'没有为名称'Account返回控制器

时间:2011-01-17 11:56:22

标签: asp.net spring-mvc

我遇到了像

这样的问题

“IControllerFactory'Spring.Web.Mvc.SpringControllerFactory'没有为名称'Account'返回控制器”。这是什么意思?????

我从名为Account的控制器调用Logon方法。 但是当同一个文件保存在家庭控制器中并被调用时它会渲染。

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。就我而言,我使用的是Spring.NET依赖注入,我忘了在XML文件中声明AccountController对象依赖。

一年后,我希望这有助于某人。

答案 1 :(得分:0)

我认为这是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;
}

如果无法从Spring容器中获取controllerInstance,则应从基类(DefaultControllerFactory)中检索它。