asp.net-mvc – 自定义控制器工厂,依赖注入/结构图问题与ASP.NET MVC

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 自定义控制器工厂,依赖注入/结构图问题与ASP.NET MVC前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近尝试使用StructureMap实现依赖注入。我设法遵循示例一路,但我遇到一个抛出的异常,每次我尝试运行应用程序。这里是我的控制器工厂的一些代码片段。
public class StructureMapControllerFactory : DefaultControllerFactory
{
    protected override IController GetControllerInstance(Type controllerType)
    {
        if (controllerType == null)
            throw new ArgumentNullException("controllerType");

        return ObjectFactory.GetInstance(controllerType) as Controller;
    }
}

我的Global.asax调用一个静态的BootStrapper类,注册所有我的依赖,但它看起来像StructureMapControllerFactory的GetControllerInstance被调用两次。第一次调用时,传入一个正确的controllerType,但在第二次调用时它总是为null。

第一次调用GetControllerInstance时,类型设置为HomeController,这是正确的。 HomeController中触发的代码将返回View()。在返回View()时,会在aspx文件调用Page_Load事件。步进后,它到达一条线:

httpHandler.ProcessRequest(HttpContext.Current);

这就是第二次调用GetControllerInstance的地方。

这里是我的Global.asax位可能相关:

protected void Application_Start()
    {
        RegisterRoutes(RouteTable.Routes);

        Bootstrapper.ConfigureStructureMap();

        ControllerBuilder.Current.SetControllerFactory(new StructureMapControllerFactory());
    }

我非常渴望获得依赖注入工作,如果任何人可以帮助我,将是最感激。 原文链接:https://www.f2er.com/aspnet/254368.html

猜你在找的asp.Net相关文章