鉴于我只能访问ControllerContext而不是Action____Contexts获取当前正在执行的 ActionDescriptor 的最佳方法是什么?
到目前为止,我发现的唯一方法是:
new ReflectedControllerDescriptor(context.Controller.GetType())
.FindAction(context, context.RouteData.GetRequiredString("action"));
这是最佳方法吗?
类被命名的事实ReflectedControllerDescriptor让我想知道这个操作是否有很高的成本,因为它将在每个页面请求上执行?与此相关的是这个类是在内部缓存还是我应该ReflectedControllerDescriptors明确地缓存?