Создание URL или ссылки в REST ASP.NET MVC - PullRequest
0 голосов
/ 19 марта 2010

Я хочу создать URL во время выполнения, когда ресурс отображается в XML или JSON. Я могу сделать это легко, когда представление представляет собой HTML и отображает только части ресурса, но когда я отображаю ресурс, содержащий ссылки на другой ресурс, я хочу динамически генерировать правильный URL-адрес в соответствии с хостом (сайтом) и конкретным URI ресурса часть.

<components>
   <component id = "1234" name = "component A" version = "1.0">
       <link rel = "/component" uri="http://localhost:8080/component/1234" />
   </component>
<components>

Как мне убедиться, что значение 'uri' правильное?

1 Ответ

1 голос
/ 19 марта 2010

Используйте ControllerContext.HttpContext для получения к HttpContextBase информации о текущем запросе:

var context = ControllerContext.HttpContext;
var host = string.Format("{0}://{1}:{2}/", 
                          context.Request.Url.Scheme, 
                          context.Request.Url.Host, 
                          context.Request.Url.Port);

и объедините host с URL-адресом, сгенерированным с использованием UrlHelper (см. Свойство Url класса Controller).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...