Asp.net-Mvc

在Controller.OnException中獲取Action和Action參數

  • May 30, 2019

我們在 BaseController 中使用 OnException 虛擬方法來記錄我們的異常。

但是我們如何才能得到異常產生的控制器動作和參數呢?

您可以從對像中獲取所有這些數據ExceptionContext

例如,使用此程式碼,您可以獲得控制器、操作和所有其他路由參數:

context.RouteData.Values

使用此程式碼,您可以獲得查詢字元串參數:

context.HttpContext.Request.QueryString

最後形成參數:

context.HttpContext.Request.Form
protected override void OnException(ExceptionContext filterContext)
{
   string action = filterContext.RouteData.Values["action"].ToString();
   string controller = filterContext.RouteData.Values["controller"].ToString();
}

引用自:https://stackoverflow.com/questions/7513822