zoukankan      html  css  js  c++  java
  • 在Controller使用其他Controller实例

    在ASP.NET Core MVC中预设在DI过程中使用了AddMvc()注入MVC服务,透过DI可以在Controller建构子中引用其他DI过的物件,但预设是无法引入其他的Controller实例的,本文将说明如何在Controller中使用其他Controller实例。

    补充DI项目

    找到Startup.csConfigureServices方法编辑以下项目。

    public void ConfigureServices(IServiceCollection services) {
        // ...something...
        services.AddMvc()
            .AddControllersAsServices(); // 加入這個項目將Controller也作為DI項目
        // ...something...
    }

    在Controller使用

    开启要使用其他Controller的Controller,并在建构子加入DI项目。如此就可以在Action中使用其他Controller的Action。

    public partial class ThisController : Controller {
        OtherController OtherController { get; set; }
        public ThisController(
            OtherController otherController, // 在建構子使用其他Controller實例
            // ...something parameters....
            ) {
            OtherController = otherController;
        }
    }

    有关详细的原理说明可以参考这篇文章

    来自:https://www.dazhuanlan.com/2020/03/19/5e736d1cdffe3/

  • 相关阅读:
    django 2.0 path
    Django
    ORM
    Django简介
    web框架
    HTTP协议
    web应用
    索引
    pyMysql模块
    视图、触发器、存储过程、函数
  • 原文地址:https://www.cnblogs.com/djd66/p/14842643.html
Copyright © 2011-2022 走看看