asp.net core ActionFilter 中获取 当前请求controller和action
public void OnActionExecuting( ActionExecutingContext context) { var V = context.HttpContext.Request.RouteValues; string ControllerName =(string) V["Controller"]; string ActionName = (string)V["Action"] ; }
如: 当前的actionfilter名称为 LoginFilter 如果在
public class HomeController:Controller{ [LoginFilter ] public IActionResult Index() { } }
V["Controller"]值为 Home ,(string)V["Action"] 值为 Index
获取全路径 代码如下: 调用 context。HttpContext.Request.GetAbsoluteUri() 返回完整路径 http://localhost:8080/Home/Index
public static class HttpRequestExtensions { public static string GetAbsoluteUri(this HttpRequest request) { return new StringBuilder() .Append(request.Scheme) .Append("://") .Append(request.Host) .Append(request.PathBase) .Append(request.Path) .Append(request.QueryString) .ToString(); } }
浙公网安备 33010602011771号