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