试图通过下面的代码获取控制器名称和操作的中间件;
private SystemLog CreateRequestLogEntity(HttpContext context)
{
var _logEntity = new SystemLog();
if (context.Request.Path.HasValue)
{
string _uri = context.Request.Path.ToUriComponent();
string[] arrs = _uri.Split('/');
if (arrs.Length >= 1)
_logEntity.controller = arrs[1];
if (arrs.Length >= 2)
_logEntity.action = arrs[2];
}
适用于简单的请求,但您会发现它的风险和丑陋程度,
如何正确制作?
答案 0 :(得分:0)
您是否尝试过
context.GetRouteValue("controller").ToString();
?
答案 1 :(得分:0)