Я использую ASP. NET WebApi. И начал использовать атрибут маршрута, но проблема в том, что при использовании маршрутизации атрибута я не могу получить контроллер и имя действия в классе контроллера. Вот как я использую:
[Route("GetInfo")]
public async Task<IHttpActionResult> GetInfoAction(){
var controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
return Ok(controllerName );
}
И это не работает, не получая имя контроллера, но при комментировании атрибута маршрута [Route ("GetInfo")], получая controllerName.
Может быть, кто-то знает, почему это происходит и как получить имя контроллера при использовании атрибута маршрутизации?
Исправлено, например:
var controllerName = ActionContext.ControllerContext.ControllerDescriptor.ControllerName;
Но странно, почему у Routedata нет этой информации. Это может вызвать проблемы в будущем.