我需要能够记录从我的asp.net mvc应用程序调用的所有动作。如何以及如何实现这一目标的最佳方式?我在哪里登录它是否是控制台或日志文件并不重要。Asp.Net MVC如何记录所有被调用的动作
2
A
回答
6
您可以创建自己的继承自ActionFilterAttribute的类,然后覆盖OnActionExecuting方法。
例
public class LogActionAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var controller = filterContext.RequestContext.RouteData.Values["Controller"];
var action = filterContext.RequestContext.RouteData.Values["Action"];
//
// Perform logging here
//
base.OnActionExecuting(filterContext);
}
}
public class HomeController : Controller
{
[LogActionAttribute]
public ActionResult Index()
{
return View();
}
}
希望这有助于!
0
不错THOROUGH答案;) – Eminem