MVC 6中检测到的控制器类列表

时间:2016-04-19 10:22:33

标签: c# asp.net-core-mvc

有没有办法在MVC 6中获取检测到的控制器列表? 我不想使用反射。 我找到的唯一的地方是在IApplicationModelConvention的Apply方法中的ApplicationModel,但感觉应该有另一个更好的方法......

1 个答案:

答案 0 :(得分:1)

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

    ApplicationPartManager appManager = <FROM DI>;

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

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