Constructor parameters for controllers without a DI container for ASP.NET MVC

后端 未结 3 1026
执念已碎
执念已碎 2020-12-06 02:56

Does anyone have any code examples on how to create controllers that have parameters other than using a Dependency Injection Container?

I see plenty of samples with

3条回答
  •  温柔的废话
    2020-12-06 03:22

    One way is to create a ControllerFactory:

    public class MyControllerFactory : DefaultControllerFactory
    {
        public override IController CreateController(
            RequestContext requestContext, string controllerName)
        {
            return [construct your controller here] ;
        }
    }
    

    Then, in Global.asax.cs:

        private void Application_Start(object sender, EventArgs e)
        {
            RegisterRoutes(RouteTable.Routes);
            ControllerBuilder.Current.SetControllerFactory(
                new MyNamespace.MyControllerFactory());
        }
    

提交回复
热议问题