Structuremap搜索每个页面的脚本控制器

时间:2010-02-27 20:03:18

标签: asp.net-mvc dependency-injection structuremap ioc-container

我已成功配置了structuremap,但每个页面都搜索名为“scripts”的控制器

 public class StructureMapControllerFactory : DefaultControllerFactory
    {
        public override IController CreateController(RequestContext context, string controllerName)
        {
            Type controllerType = base.GetControllerType(context, controllerName);
            return ObjectFactory.GetInstance(controllerType) as IController;
        }
    }

这是因为参数字符串ControllerName每次都带有字符串“scripts”

2 个答案:

答案 0 :(得分:1)

问题可能是路由引擎正在处理脚本请求。您必须配置路由,以便路由引擎忽略脚本,图标,图像等。

答案 1 :(得分:0)

尝试覆盖GetControllerInstance而不是CreateController

public class StructureMapControllerFactory : DefaultControllerFactory
{
    protected override IController GetControllerInstance(Type controllerType)
    {
        return (IController)ObjectFactory.GetInstance(controllerType);
    }
}