Доступ к originalRouteTemplate и параметрам

#c# #asp.net #asp.net-web-api

#c# #asp.net #asp.net-веб-api

Вопрос:

У меня есть приложение, которое будет динамически настраивать RouteTable для ASP.NET Веб-API на основе метаданных. Я буду направлять все вызовы к одному действию на одном контроллере, который также будет использовать эти метаданные для генерации и предоставления ответа.

Метод, который я должен обработать, в настоящее время имеет следующую подпись:

 public IHttpActionResult Test(HttpRequestMessage request)
{
    // This is where I need help...
}
  

Я стремлюсь использовать существующие возможности маршрутизации ASP.NET Веб-API и было бы здорово, если бы внутри этого единственного метода я мог получить доступ к следующему:

  • исходный routeTemplate
  • значение любых параметров URL в словаре (ключ и значение)

Любая помощь действительно ценится.

Ответ №1:

Я обнаружил, что могу получить это с помощью

 var rd = request.GetRouteData();
rd.RouteTemplate // the route template
rd.Values // dictionary of parameters (including controller and action)