【问题标题】:Building URL or link in REST ASP.NET MVC在 REST ASP.NET MVC 中构建 URL 或链接
【发布时间】:2010-03-18 21:31:50
【问题描述】:

当资源呈现为 XML 或 JSON 时,我想在运行时构建一个 URL。当视图是 HTML 并且仅呈现资源的一部分时,我可以轻松地做到这一点,但是当我呈现包含指向另一个资源的链接的资源时,我想根据主机(站点)和资源特定的 URI 动态生成正确的 URL部分。

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

如何确保 'uri' 值正确?

【问题讨论】:

    标签: asp.net asp.net-mvc url rest resources


    【解决方案1】:

    使用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 与使用UrlHelper 生成的url 结合起来(参见Controller 类的Url 属性)。

    【讨论】:

      猜你喜欢
      • 2010-09-10
      • 2013-04-12
      • 2015-12-18
      • 1970-01-01
      • 2010-10-27
      • 2011-01-13
      • 1970-01-01
      • 2012-06-01
      • 2010-10-13
      相关资源
      最近更新 更多