Единственное, о чем я могу думать, это использовать класс StackFrame . Я не рекомендовал бы это, если вы имеете дело с критичным к производительности кодом, но вы могли бы использовать его. Единственная проблема заключается в том, что StackFrame предоставляет вам все методы, которые были вызваны до этого момента, но нет простого способа определить, какой из них является методом Action, но, возможно, в вашей ситуации вы знаете, сколько слоев будет в Action быть. Вот пример кода:
[HandleError]
public class HomeController : Controller
{
public void Index()
{
var x = ShowStackFrame();
Response.Write(x);
}
private string ShowStackFrame()
{
StringBuilder b = new StringBuilder();
StackTrace trace = new StackTrace(0);
foreach (var frame in trace.GetFrames())
{
var method = frame.GetMethod();
b.AppendLine(method.Name + "<br>");
foreach (var param in method.GetParameters())
{
b.AppendLine(param.Name + "<br>");
}
b.AppendLine("<hr>");
}
return b.ToString() ;
}
}