Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用反射或其他精确方法在控制器内获取当前ASP.NET核心控制器方法名称

如何使用反射或其他精确方法在控制器内获取当前ASP.NET核心控制器方法名称
EN

Stack Overflow用户
提问于 2016-02-21 01:17:48
回答 6查看 24.1K关注 0票数 23

我想得到我的ASP.NET Core控制器的当前方法名

我尝试通过反射获得方法名称:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    [HttpGet]
    public async Task<IActionResult> CreateProcess(int catId)
    {
        string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;

但这给出了MoveNext的值,而不是CreateProcess的值。

注意我不想使用ViewContext

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
string methodName = ActionContext.RouteData.Values["action"].ToString();

由于我的urls是小写的,所以我通过上面的启动settings.The可以获得createprocess而不是CreateProcess

我最好想要一个简单的一行,而不是多行扩展方法。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-02-21 01:41:18

您可以使用以下事实:它不仅仅是任何方法,而是一个控制器,并且可以使用ActionContext.ActionDescriptor.Name属性来获取操作名。

最新消息:(感谢吉姆·阿霍)

最新版本适用于-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ControllerContext.ActionDescriptor.ActionName
票数 25
EN

Stack Overflow用户

发布于 2016-08-09 23:08:42

在ASP.NET核心中,它似乎已经改变了,您必须使用ActionName属性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)ViewContext.ActionDescriptor).ActionName;
票数 14
EN

Stack Overflow用户

发布于 2016-02-21 01:51:52

C# 5.0 CallerMemberName属性可以完成此任务。(我还没有从异步方法中测试这一点;它是从常规调用中运行的)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private static string GetCallerMemberName([CallerMemberName]string name = "")
{
    return name;
}

然后从代码中调用它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[HttpGet]
public async Task<IActionResult> CreateProcess(int catId)
{
    string methodName = GetCallerMemberName();

注意,您不需要将任何内容传递给该方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35534337

复制
相关文章
php 中输出控制器名称,Thinkphp5.0&&5.1怎么获取模块名控制器名方法名(权限配置中)
$controller = Request::instance()->controller();
超级小可爱
2023/02/20
7560
版本控制器——Egit使用方法
什么是Git Gitv是目前世界上最先进的分布式版本控制系统。   那我们为什么需要学习Git呢?因为在我们传统的java自学中,所有的项目都是自己独立开发完成,而且项目基本都是小型项目,在优化和体验
生活创客
2018/01/30
1.3K0
版本控制器——Egit使用方法
在 ASP.NET MVC 中使用异步控制器
可以通过 AsyncController 类编写异步操作方法。 可以对长时间运行的、非 CPU 绑定的请求使用异步操作方法。 这样可避免在处理请求时阻塞 Web 服务器执行工作。 AsyncController 类通常用于长时间运行的 Web 服务调用。 本主题包含以下各节: 线程池处理请求的方式 处理异步请求 选择同步操作方法或异步操作方法 将同步操作方法转换为异步操作方法 并行执行多个操作 将特性添加到异步操作方法 使用 BeginMethod/EndMethod 模式 类参考 与本主题对应的包含源代码
逸鹏
2018/04/10
1.9K0
Kubernetes 1.19.0——其他控制器
1.运行集群存储 daemon,例如在每个 Node 上运行 glusterd、ceph
gz_naldo
2020/09/28
4180
Kubernetes 1.19.0——其他控制器
swift 获取控制器
得到view的控制器 /** view 获取它的控制器 */ public func viewController()->UIViewController? {
星宇大前端
2019/01/15
1.5K0
php案例:获取到实际地址的控制器 方法 参数
贵哥的编程之路
2023/10/16
1260
php案例:获取到实际地址的控制器 方法 参数
php案例:获取到php美化地址控制器 方法 参数
贵哥的编程之路
2023/10/16
1520
php案例:获取到php美化地址控制器 方法 参数
kubernetes其他控制器之PodDisruptionBudget
在Kubernetes中为了保证业务不中断或者业务SLA不降级,需要将应用集群化部署,比如Deployment,StatefulSet部署等。虽然是集群化部署,但是在我们主动销毁Pod的时候,为了避免一次性销毁太多Pod,Kubernetes引用PodDisruptionBudget(PDB)控制器,用来控制集群中Pod的运行个数。
极客运维圈
2020/03/23
9240
kubernetes其他控制器之PodDisruptionBudget
yii2 在控制器中验证请求参数的使用方法
针对每个请求单独写个Model , 定义验证规则并进行验证。 缺点:写好多参数验证的Model 类。
用户7353560
2021/11/07
3.7K0
UINavigationController 导航控制器概念属性方法
概念 UINavigationController 继承于 UIViewController 包含:viewcontrollers、NavigationBar、Toolbar 导航控制器是一个堆栈结构,只是其中管理的对象是controller,通过push与pop进行controller的切换,UINavigationController是将这些控件(UINavigationBar,UINavigationItem和UIToolBar)和UIViewController紧密的结合了起来 总结: Naviga
用户2141756
2018/05/18
2.2K0
SDRAM控制器设计(数字控制器的两种设计方法)
这次要来解决上次留下来的刷新问题,在100us后首先要经过两次刷新才进行模式寄存器设置。这颗SDRAM芯片需要每隔64ms对8192行(列地址10-位,行地址13位)的每一个存储电容进行一次刷新,因为不刷新电充会泄露电流导致存储信息丢失。那每一行的刷新时间为64/8192 ≈ 7810ns,注意刷新是以行为单位,器芯片内部有一个计数器,这个计数器不是时钟直接驱动的,而是AUTO PRECHARGE驱动,每发一次atuoprecharge命令这个计数器加1,我们是看不到的也无法对其直接置数,这个计数器一上电就进行初始化这是我们不需要关心的,我们要做的是在7810ns进行一次刷新操作就行了。所做的读和写就是在两次刷新间隔内进行的,这个会在下一节讲到。
全栈程序员站长
2022/07/28
4240
SDRAM控制器设计(数字控制器的两种设计方法)
ASP.NET MVC 5 - 控制器
MVC代表: 模型-视图-控制器 。MVC是一个架构良好并且易于测试和易于维护的开发模式。基于MVC模式的应用程序包含: · Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据类。 · Views: 应用程序动态生成 HTML所使用的模板文件。 · Controllers: 处理浏览器的请求,取得数据模型,然后指定要响应浏览器请求的视图模板。 本系列教程,我们将覆盖所有这些概念,并告诉您如何在ASP.NET MVC 5中使用它们来构建应用程序。 首先,让我们创建一个控制器类。在解决方
葡萄城控件
2018/01/10
2.6K0
ASP.NET MVC 5 - 控制器
kubernetes中其他控制器之PodSecurityPolicy
PodSecurityPolicy是集群级别的Pod安全策略,自动为集群中的Pod和Volume设置Security Context。
极客运维圈
2020/03/23
1.6K2
C# 使用反射获取私有属性的方法
本文告诉大家多个不同的方法使用反射获得私有属性,最后通过测试性能发现所有的方法的性能都差不多
林德熙
2022/08/04
1.7K0
js获取当前时间的方法_c获取当前时间毫秒
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
21.3K0
js获取当前时间的方法_c获取当前时间毫秒
dotnet 获取当前进程方法
这个获取的方法内部有缓存,第一次获取的速度会比较慢,稍后会比较快,我使用下面代码测量
林德熙
2022/08/07
5550
ASP.NET Core 引用其他程序集项目里面的 Controller 控制器
我将控制器 Controller 按照不同的业务,分为多个不同的项目,我需要在路由里面调度到多个不同项目的控制器
林德熙
2021/04/25
1.3K0
ASP.NET Core 引用其他程序集项目里面的 Controller 控制器
OpenKruise:Kubernetes 核心控制器 Plus
在去年的 KubeCon 上海 2019,我有幸在现场见证了 OpenKruise 项目的开源,当时在台下的我非常兴奋,因为找到了一套让我的 Kubernetes 集群的核心资源 Pod 升级和发布更自动更简单的方案。如今一年多过去了,前不久 Openkruise 刚发布了最新的 v0.6.0 版本,目前已经有很多企业在生产环境应用了 OpenKruise,借助 OpenKruise 提供的自动化能力,大大提升了部署升级效率与质量。
郭旭东
2020/12/30
6320
OpenKruise:Kubernetes 核心控制器 Plus
点击加载更多

相似问题

如何获取当前的控制器名称和方法?

11

如何使用jquery获取当前控制器名称?

30

在控制器方法中获取布局名称

12

在控制器中获取当前url的方法

10

如何覆盖核心控制器方法

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文