大家好,我是全栈小5,欢迎阅读小5的系列文章。
这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解,
特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!
目录
获取步骤
1、直接亮代码
((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)filterContext.ActionDescriptor).ActionName
2、直接获取会报错
3、查看变量值
一步一步展开是可以看到有ActionName值得
代码举例
在.NET Core的MVC中,你可以通过反射获取控制器的方法名。以下是一个示例,展示了如何在控制器方法中获取方法名:
using Microsoft.AspNetCore.Mvc;
using System;
using System.Reflection;
namespace YourNamespace.Controllers
{
public class YourController : Controller
{
public IActionResult YourAction()
{
// 获取当前执行的方法名
string methodName = GetCurrentMethodName();
// 在这里使用方法名,或者进行其他逻辑
Console.WriteLine($"当前执行的方法名: {methodName}");
return View();
}
private string GetCurrentMethodName()
{
// 获取当前调用堆栈
StackTrace stackTrace = new StackTrace();
// 获取当前方法
MethodBase methodBase = stackTrace.GetFrame(1).GetMethod();
// 返回方法名
return methodBase.Name;
}
}
}
在这个示例中,
YourAction
方法中调用了GetCurrentMethodName
方法,该方法通过StackTrace
类获取当前执行的方法,并返回其方法名。请注意,使用反射可能会带来性能开销,因此请在需要的时候使用。
控制器作用
控制器在.NET Core的MVC(Model-View-Controller)架构中扮演着重要的角色,它负责接收用户的请求并作出相应的响应。控制器的主要作用包括:
1. 路由请求
控制器负责根据请求的URL路由到相应的处理方法。
2. 处理请求
控制器包含了多个动作方法(Action Methods),这些方法用于处理不同的HTTP请求。例如,GET请求可能对应显示页面的方法,而POST请求可能对应提交表单数据的方法。
3. 调用服务
控制器通常会调用各种服务来执行业务逻辑。这些服务可能包括数据访问服务、身份验证服务等。
4. 传递数据
控制器负责将处理结果传递给视图(View),以便呈现给用户。它可以通过模型(Model)来传递数据给视图。
5. 处理请求生命周期
控制器可以在请求的生命周期中执行各种操作,例如验证、日志记录、异常处理等。
总的来说,控制器在MVC架构中承担了连接用户请求和系统响应之间的桥梁作用,它协调了模型、视图和其他组件之间的交互,使得应用程序能够有效地响应用户的操作。
文章推荐
前端
【前端】vue3+ts+vite,el-table表格渲染记录重复情况
【前端】vue3+typescript+vite+Element-Plus搭建配置初始化项目结构
【前端】WeUI DatePicker时间组件绑定方法以及chatGPT回答
CSharp
【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),代码实现篇
【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),流程描述篇
【C#】List泛型数据集如何循环移动,最后一位移动到第一位,以此类推
【C#】获取文本中的链接,通过正则表达式的方法获取以及优化兼容多种格式
Sql Server
【Sql Server】通过Sql语句批量处理数据,使用变量且遍历数据进行逻辑处理
【新星计划回顾】第六篇学习计划-通过自定义函数和存储过程模拟MD5数据
【新星计划回顾】第四篇学习计划-自定义函数、存储过程、随机值知识点
【Sql Server】Update中的From语句,以及常见更新操作方式
【Sql server】假设有三个字段a,b,c 以a和b分组,如何查询a和b唯一,但是c不同的记录
【Sql Server】新手一分钟看懂在已有表基础上修改字段默认值和数据类型
总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。