Csharp/C#教程:没有用于ASP.NET MVC的DI容器的控制器的构造函数参数分享


没有用于ASP.NET MVC的DI容器的控制器的构造函数参数

有没有人有关于如何创建具有除使用dependency injection容器之外的参数的控制器的任何代码示例?

我看到很多样本都使用像StructureMap这样的容器,但是如果你想自己传递依赖类,那就什么都没有了。

你可以使用穷人的dependency injection:

public ProductController() : this( new Foo() ) { //the framework calls this } public ProductController(IFoo foo) { _foo = foo; } 

一种方法是创建一个ControllerFactory:

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

然后,在Global.asax.cs中:

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

您可以创建一个IModelBinder,用于从工厂中旋转实例 – 或者是,容器。 =)

上述就是C#学习教程:没有用于ASP.NET MVC的DI容器的控制器的构造函数参数分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/949514.html

(0)
上一篇 2021年11月17日
下一篇 2021年11月17日

精彩推荐