La seule façon que je peux penser, est d'utiliser la classe StackFrame. Je ne le recommanderais pas si vous traitez du code critique de performance, mais vous pouvez l'utiliser. Le seul problème est, le StackFrame vous donne toutes les méthodes qui ont été appelées jusqu'à présent, mais il n'y a pas de moyen facile d'identifier lequel est la méthode d'action, mais peut-être dans votre situation, vous savez combien de couches l'Action être. Voici quelques exemples de code:
[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() ;
}
}