c# - MVC 6 中检测到的 Controller 类列表

标签 c# asp.net-core-mvc

有什么方法可以获取 MVC 6 中检测到的 Controller 列表吗? 我不想使用反射。 我找到的唯一地方是在IApplicationModelConvention的Apply方法中的ApplicationModel上,但感觉应该有另一种更好的方法......

最佳答案

在 RC2 中找到了解决方案,只需从 DependencyInjection 中获取 ApplicationPartManager 并执行此操作:

    ApplicationPartManager appManager = <FROM DI>;

    var controllerFeature = new ControllerFeature();
    appManager.PopulateFeature(controllerFeature);

    foreach(var controller in controllerFeature.Controllers)
    {
        ...
    }

关于c# - MVC 6 中检测到的 Controller 类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36715563/

相关文章:

c# - C# 控制台应用程序中的 Macron

c# - 如何以编程方式将按钮上的可见性绑定(bind)到 C# 中的 INotifyPropertyChanged bool 属性?

c# - 在 C# 中使用静态函数和变量的困难

c# - 数据 GridView C#

c# - azure 虚拟目录 webdeploy 后 Asp.Net Core WebApi 内部服务器错误

c# - 在 MVC 6 中使用 REST 服务

visual-studio-2015 - 在编译时添加对 ASP.NET 5/MVC 6 项目的引用 (.Net-Dll)

c# - 当 xml 在字符串变量中时如何加载 XDocument?

c# - ASP.NET Core 6 MVC : how to implement layout logic?

c# - 基于 Accept header 的 ASP.NET Core Web API 操作选择