現在実行中のActionDescriptorを取得する最適な方法は何ですかControllerContext
?Action____Contexts
これまでのところ、私が見つけた唯一の方法は次のとおりです。
new ReflectedControllerDescriptor(context.Controller.GetType())
.FindAction(context, context.RouteData.GetRequiredString("action"));
これは最適な方法ですか?
クラスに名前が付けられているという事実ReflectedControllerDescriptor
は、ページ要求ごとに実行されるため、この操作に大きなコストがかかるのではないかと思います。ReflectedControllerDescriptors
それに関連して、このクラスは内部的にキャッシュされますか、それとも実際に明示的にキャッシュする必要がありますか?