首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在运行asp core 3.1时获取所有动作、控制器和区域名称

在运行 ASP.NET Core 3.1 时,可以通过使用反射获取所有动作、控制器和区域的名称。以下是一个示例代码,可以帮助您实现该功能:

  1. 首先,确保您已经安装了 Microsoft.AspNetCore.Mvc.Core 包,该包提供了操作 ASP.NET Core MVC 的一些基本功能。
  2. 在您的代码文件中,添加以下引用:
代码语言:txt
复制
using Microsoft.AspNetCore.Mvc.ApplicationModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
  1. 创建一个自定义的实现了 IApplicationModelConvention 接口的类,以便获取控制器和动作的信息:
代码语言:txt
复制
public class ControllerInspector : IApplicationModelConvention
{
    public void Apply(ApplicationModel application)
    {
        var controllers = application.Controllers;
        foreach (var controller in controllers)
        {
            var controllerName = controller.ControllerName;

            // 可以在这里记录或处理控制器名称

            var actions = controller.Actions;
            foreach (var action in actions)
            {
                var actionName = action.ActionName;

                // 可以在这里记录或处理动作名称
            }
        }
    }
}
  1. 在 Startup.cs 文件的 ConfigureServices 方法中注册 ControllerInspector 类:
代码语言:txt
复制
services.AddMvc(options =>
{
    options.Conventions.Add(new ControllerInspector());
});

现在,当您运行 ASP.NET Core 3.1 应用程序时,ControllerInspector 类将会被调用,您可以在其中获取并处理所有动作、控制器和区域的名称。

请注意,根据您的具体需求,您可以进一步扩展 ControllerInspector 类,以添加其他相关信息的处理逻辑。例如,您可以获取动作的参数信息、路由信息等。

对于 ASP.NET Core 的更多详细信息和用法,请参考腾讯云产品介绍链接地址:ASP.NET Core

注意:本回答中不涉及云计算品牌商,旨在提供完善和全面的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Core应用中如何设置获取与执行环境相关的信息?

HostingEnvironment是承载应用当前执行环境的描述,它是对所有实现了IHostingEnvironment接口的所有类型以及对应对象的统称。...ApplicationNameEnvironmentName分别代表当前应用的名称执行环境的名称。...[本文已经同步到《ASP.NET Core框架揭秘》之中] 1: public interface IHostingEnvironment 2: { 3: string...ContentRootPath) 承载的四个与执行环境相关的设置,WebHostOptions对象上都具有对应的属性,后者是前者的数据来源。...如下所示的是WebHostBuilder用于注册Startup的两个扩展方法ConfigureUseStartup的定义,我们可以清楚地看到创建并注册Startup之前,它们都会设置当前应用的名称

3.6K90

ASP.NET Core 基础知识】--路由请求处理--路由概念(二)

ASP.NET Core中,可以通过以下方式控制器动作方法中接收查询字符串参数: public class MyController : Controller { public IActionResult...ASP.NET Core中,可以通过动作方法的参数直接接收表单参数。...2.2 命名路由 命名路由是为特定路由规则分配一个唯一的名称,以便在应用程序中引用生成URL时使用。ASP.NET Core中,可以通过路由配置中使用name参数为路由指定名称。...这种方式应用程序中的路由配置较复杂时非常有用。 三、区域化路由 ASP.NET Core 中,区域化路由是一种将应用程序分成多个区域,并为每个区域定义特定路由的技术。...四、路由中间件 路由中间件ASP.NET Core中起着关键作用,它负责根据传入的HTTP请求确定应该由哪个控制器的哪个动作方法来处理。

11900
  • ASP.NET Core 基础知识】--MVC框架--Models和数据绑定

    ASP.NET Core MVC中,Models类是连接控制器(Controller)视图(View)之间的桥梁,使得数据的传递更为灵活高效。...在运行时,ASP.NET Core MVC框架会根据这些注解来执行相应的验证,并将验证结果反馈给开发人员或用户。这有助于确保应用程序接收到有效符合要求的数据。...2.2 基本数据绑定 ASP.NET Core MVC中,基本数据绑定涉及将用户提交的数据映射到控制器动作方法参数或直接映射到模型中。...return View(); } 在这个例子中,ProcessRequest 方法同时接收表单数据查询字符串数据。 这些例子展示了如何控制器动作方法中使用数据绑定特性,从不同的来源获取数据。...这个简单的例子涵盖了基本的模型绑定概念,以及如何控制器视图中使用它们。实际应用程序中,可以根据业务需求扩展这些概念,并使用更复杂的模型、验证器绑定器。

    59810

    【21】ASP.NET CoreMVC 中的控制器

    ASP.NET CoreMVC 中的控制器 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新版本 本文出自《从零开始学 ASP.NET Core...Fiddler 需要大家提前装一个工具,https://www.telerik.com/fiddler Fiddler 是一个 http 协议调试代理工具,它能够记录并检查所有你的电脑互联网之间的...我们会通过他来演示,如何抓包获取请求。 控制器 ? MVC 中的控制器是一个类,它继承自Microsoft.AspNetCore.Mvc.Controller 控制器名称后缀为Controller。...我们将在即将发布的视频中详细讨论 ASP.NET Core MVC 中的路由。 请求到达控制器动作方法。作为处理该请求的一部分,控制器创建模型-Model。 控制器通过依赖的服务,来查询模型数据,。...我们之前的ASP.NET Core 教程视频中讨论了**[依赖注入]** 请注意,我们将注入的依赖项分配给readonly字段。这是一个很好的做法,因为它可以防止方法中意外地为其分配另一个值。

    1.7K30

    ASP.NET Core MVC 概述

    ASP.NET Core MVC 是使用“模型-视图-控制器”设计模式构建 Web 应用 API 的丰富框架。 什么是 MVC 模式?... MVC 模式中,控制器是初始入口点,负责选择要使用的模型类型要呈现的视图(因此得名 - 它控制应用如何响应给定请求)。 备注 控制器不应由于责任过多而变得过于复杂。...Core MVC 建立 ASP.NET Core 的路由之上,是一个功能强大的 URL 映射组件,可用于生成具有易于理解可搜索 URL 的应用程序。...筛选器允许操作方法运行自定义预处理后处理逻辑,并且可以配置为在给定请求的执行管道内的特定点上运行。 筛选器可以作为属性应用于控制器或操作(也可以全局运行)。...区域是应用程序内的一个 MVC 结构。 MVC 项目中,模型、控制器视图等逻辑组件保存在不同的文件夹中,MVC 使用命名约定来创建这些组件之间的关系。

    6.4K20

    ASP.NET Core 基础知识】--MVC框架--MVC入门

    获取用户输入并将其传递给控制器。视图通常只关注展示用户交互,而不处理业务逻辑。 Controller(控制器): 控制器充当模型视图之间的中介。...下面是一个简单的步骤指南,演示如何创建一个基本的ASP.NET Core MVC应用: 打开 Visual Studio,选择 “创建新项目”。... “新建项目” 对话框中,选择 “ASP.NET Core Web 应用程序” 模板,并点击 “下一步”。 “项目设置” 中,给项目取一个名称,选择位置,点击“下一步”。...默认情况下,ASP.NET Core MVC使用路由映射URL到相应的控制器动作方法。控制器中,你可以处理来自用户的请求,更新模型并渲染视图。...ASP.NET Core中,通过Visual Studio创建MVC应用,使开发者能够更轻松地构建、扩展维护Web应用程序。

    43310

    C# .NET面试系列七:ASP.NET Core

    以下是ASP.NET Core的一些主要特性:1、跨平台支持ASP.NET Core可以Windows、LinuxmacOS等多个操作系统上运行,提供了更大的灵活性可移植性。...8、跨平台跨框架ABP.NEXT 基于ASP.NET Core 构建,因此可以多个平台上运行,支持跨平台开发。...这对于构建具有不同功能区域的应用程序或实现条件性的中间件执行非常有用。21. dot net core 里面的路径是如何处理的?...ASP.NET Core中,请求的路径是通过中间件处理管道中的路由系统进行处理的。路由系统负责将传入的HTTP请求映射到相应的处理程序(通常是控制器动作方法),从而确定如何处理该请求。...3、控制器动作方法:// 创建控制器动作方法,它们处理具体的HTTP请求。路由系统将请求映射到相应的控制器动作方法。

    29910

    正式开始学习ASP.NET Core 6 Razor Pages 介绍

    随后的屏幕上,选择“ ASP.NET Core Web应用程序”模板,然后单击“ 下一步”。在下一个屏幕上,为项目提供一个名称。...* 除依赖注入日志记录外, Razor Pages 还支持其他ASP.NET Core 功能,例如配置源,模型绑定,模型验证等功能这些我们之前的课程以及说过了。...如果我们要构建一个相当复杂的门户网站,那么最终我们可能会得到使用许多不同依赖项视图模型并返回许多不同视图的控制器。 简而言之,我们可能最终得到大型控制器,这些控制器具有许多彼此不相关的动作。...由于PageModel类显示模板位于一个位置并且彼此密切相关,因此使用 Razor Pages 构建单个页面非常简单,同时仍使用ASP.NET Core MVC的所有体系结构功能,例如依赖项注入,中间件组件...一些ASP.NET Core Web应用程序中,也可以将两种模式(即ASP.NET Core MVCRazor Pages)组合在一起。

    3.7K10

    ASP.NET Core File Providers

    一个ASP.NET Core应用,你可以直接实例化出一个PhysicalFileProvider provider,或者你也可以通过控制器和服务中使用构造函数依赖注入的方式,请求一个IFileProvider...这两个通配符分别是***。 * *表示在当前文件夹级别上匹配任何文件名称或文件扩展名。匹配以文件路径字符串中的/.符号结尾。 ** **表示多个目录级别上匹配任何文件名称或文件扩展名。...directory/*/project.json 指定的directory文件夹下的一级目录位置中匹配所有符合project.json名称的文件 directory/**/*.txt 指定的directory...ASP.NET Core中File Provider的用法 ASP.NET Core有几个组件使用file provider功能。...应用程序中使用的建议 如果你的ASP.NET Core应用需要访问文件系统,你可以通过依赖注入创建IFileProvider接口实例,然后再通过前文所示的相应方法执行访问。

    93170

    ASP.NET Core 基础知识】--路由请求处理--路由概念(一)

    ASP.NET Core等框架中,路由系统会根据请求的URL路由规则,确定执行哪个控制器的哪个动作方法来处理请求。...3.3 控制器动作方法的路由映射 四、路由约束 4.1 什么是路由约束 控制器动作方法的路由映射是通过ASP.NET Core中的路由系统来实现的。...以下是控制器动作方法的路由映射的基本概念: 控制器级别的路由映射: ASP.NET Core中,可以控制器类上使用[Route]特性为整个控制器指定路由模板。...ASP.NET Core中,常见的路由约束类型包括正则表达式约束、长度约束范围约束。...五、总结 今天我详细解释了ASP.NET Core中路由的基本概念,包括静态路由、参数化路由的基本参数、可选参数、默认值,以及控制器动作方法的定义与调用。

    40910

    C#反射与特性(六):设计一个仿ASP.NETCore依赖注入Web

    本篇文章属于阶段练习,将前面学习到的所有知识点进行总结,实现一个依赖注入功能,仿照 ASP.NET Core 访问 API,自动传递参数以及执行方法,最后返回结果。...、依赖注入、调用方法 2,编写控制器参数类型 2.1 编写类型 2.2 实现控制器 3,实现低配山寨 ASP.NET Core ?...从前面的学习中,我们了解到,通过反射实例化调用一个类型的成员,只需要确定类型名称、方法名称即可。...所以这里只做判断,获取 MethodInfo 的过程在后面。 1.2 依赖实例化 意思是,获取一个类型的构造函数中,所有参数信息,并且为每一个类型实现自动创建实例。...我们按照 ASP.NET Core 写一个控制器的大概形式,实现一个低仿的山寨控制器

    97940

    Asp.Net Web API 2第六课——Web API路由动作选择

    本文描述ASP.NET Web API如何把一个HTTP请求路由到控制器的一个特定的Action上。...查找选择算法之前,我们需要理解控制器动作的一些事情。   控制器中的哪些方法被看成为是“动作”?当选择一个动作时,这个框架只考察控制器的public实例方法。...简单类型包括所有“.NET框架简单类型”,另外还有,DateTime、Decimal、Guid、StringTimeSpan。对于每一个动作,最多只有一个参数可以读取请求正文。...在这种背景下,动作选择算法如下: 1.创建该控制器中与HTTP请求方法匹配的所有动作的列表。 2.如果路由字典有“action”条目,移除与该条目值不匹配的动作。...选择算法的目的是调用绑定之前根据静态描述来选择一个动作。因此,复杂类型是属于匹配算法之外的。 动作选择之后,会调用所有参数绑定。 Summary: 1.动作必须匹配请求的HTTP方法。

    96020

    asp.net core 系列】3 视图以及视图与控制器

    0.前言 之前的几篇中,我们大概介绍了如何创建一个asp.net core mvc项目以及http请求如何被路由转交给对应的执行单元。这一篇我们将介绍一下控制器与视图直接的关系。 1....所以asp.net core mvc 设置了名为_ViewImports.cshtml的文件中添加引用,则在Views下所有视图中都生效。...1.3 视图检索 在上一节中,我们指定了一个布局页的名称。布局页也是视图中的一种,但我们也只指定了名称,但没有指定路径。asp.net core如何发现这个名称的视图呢?.../Manage/Index 表示Manage控制器目录下的Index 2.3 给视图传递数据 之前介绍了如何使用视图、如何指定视图名称,但是还缺最关键的一步,那就是如何给视图传递数据。...在上一小节中,我们分别使用ViewDataViewBag以及ViewModel给视图传递了三个数据,那么如何在视图中获取这三个数据呢?

    2.5K10

    ASP.NET Core 基础知识】--MVC框架--ViewsRazor语法

    这个映射过程是自动进行的,ASP.NET Core框架根据请求中的数据类型、名称模型对象的属性进行匹配。...了解如何有效地使用模型绑定可以简化控制器的代码,并使数据传递更为方便可靠。...5.2 Views中的表单标签 ASP.NET Core的Razor视图中,可以使用HTML表单标签ASP.NET Core的HTML辅助方法来创建表单。...5.3 表单验证处理 ASP.NET Core中,表单验证处理是Web应用程序中的关键部分。ASP.NET Core提供了内置的模型验证处理机制,可以方便地处理用户提交的表单数据。...可以控制器动作方法上使用 [ResponseCache] 特性,或者视图中使用 ResponseCache 中间件。

    44220

    asp.net core 系列】2 控制器与路由的恩怨情仇

    前言 在上一篇文章中,我们初步介绍了asp.net core,以及如何创建一个mvc项目。从这一篇开始,我将为大家展示asp.net core 的各种内容,并且尝试带领大家来挖掘其中的内在逻辑。...这一篇将通过自定义一个控制器来为大家介绍asp.net core mvc 中控制器路由的相关知识。 ? 1....,让我们初窥asp.net core MVC是如何识别控制器的。...路由 第一节中,我们介绍了一下asp.net core mvc如何寻找控制器Action,那这一节将介绍程序如何从请求链接中解析出控制器Action的名称,也就是路由映射。...终结点是应用的可执行请求处理代码单元,也就是我们控制器里的方法(Action)。 2.1 路由的配置 对于所有asp.net core模板都包括生成代码中的路由。

    90020

    《从零开始学ASP.NET CORE MVC》:VS2017创建ASP.NET Core Web程序(三)

    第3步:“新建项目”对话框中,展开 “已安装”。然后展开“Visual C#”并 选择.NET Core 第4步:中间窗格中,您将找到所有已安装的项目模板。...我们想要创建“ASP.NET Core Web应用程序”。因此,选择“ASP.NET Core Web 应用程序” 第6步:名称”文本框中,键入项目的名称。...这是我们将使用的模板,并从头开始手动设置所有内容,以便我们清楚地了解不同部分如何组合在一起。...该项目包含所有可复用的用户界面部分,如数据模型,页面模型,控制器,页面,Razor视图View组件。然后,可以多个应用程序中复用此Razor类库(RCL)项目。...在下一篇文章中,我们将探索理解ASP.NET Core 项目文件。 摘要 本文中,我尝试解释如何使用从头开始的创建项目,以及不同类型的模板的区别。我希望这篇文章可以帮助您满足您的需求。

    2.8K30

    ASP.NET Core 基础知识】--身份验证授权--授权策略

    一、授权策略的概念及应用 ASP.NET Core中,授权策略是重要的安全概念,用于确定用户是否有权限执行特定的操作或访问特定的资源。...1.3 ASP.NET Core中的授权策略应用 声明授权: ASP.NET Core中,可以使用[Authorize]属性来声明需要授权的控制器或操作方法。...1.4 授权策略的关系 ASP.NET Core中,授权策略是密切相关的概念,它们一起用于定义实施应用程序的访问控制规则。...代码中的应用: ASP.NET Core中,你可以通过控制器或操作方法上使用[Authorize]属性并指定相应的策略名称来应用授权。这样,授权系统将根据策略来验证用户的访问权限。...三、如何限制标识为特定身份验证方案 ASP.NET Core中,你可以通过使用[Authorize]属性或[AllowAnonymous]属性来限制标识为特定身份验证方案。

    24600

    ASP.NET Core Cookie 认证

    Cookie 认证是ASP.NET Core用来实现客户自定义认证逻辑,没有使用ASP.NET Core Identity 1 ASP.NET Core Cookie 认证例子 .NET Core我们通常使用三步来配置...中间件,最后需要 cookie 授权的控制器操作上应用 [Authorize] 属性 2 配置 首先我们需要配置Cookie认证,如下代码展示如何配置Cookie认证 using Microsoft.AspNetCore.Authentication.Cookies...; app.Run(); 调用UseAuthentication& UseAuthorization()方法 3 认证授权 现在我们ASP.NET Core 应用程序中使用Cookie认证,在这个应用程序创建...,添加[Authorize]特性,所有控制器内部的方法都继承了authorize特性,这意味着所有的action方法只允许授权的用户访问 using Microsoft.AspNetCore.Authorization...,首先进行检查以确定用户的用户名密码是否都是管理员用户名密码,真实环境中,我们将从数据库中获取用户名密码与用户输入的用户名密码进行匹配,在这里为了方便我们使用静态的用户名密码 if ((username

    20610
    领券