【问题标题】:How can I generate a link to a resource not in the WebAPI routing table?如何生成指向不在 WebAPI 路由表中的资源的链接?
【发布时间】:2013-05-17 22:17:02
【问题描述】:

我正在尝试以ApiController 形式创建一个指向某个未知(WebAPI)资源的虚拟目录相对链接。

例子:

http://some/path/webapi/does/not/know

WebAPI Url 帮助器似乎与路由紧密耦合,并且没有像 MVC 变体那样的 Content() 方法。我试图避免使用任何不可模拟的 HTTP 上下文信息来进行此调用(例如 HttpContext.Current)。

感谢您的帮助!

【问题讨论】:

  • 您是否尝试在 API 控制器中创建一个 System.Web.Mvc.UrlHelper 以使用 Content 方法?

标签: c# .net asp.net-mvc-4 asp.net-web-api


【解决方案1】:

你总是可以的,

var urlBuilder = 新 System.UriBuilder(Request.Url.AbsoluteUri) { 路径 = "webapi/does/not/know" };

var uri = urlBuilder.Uri

这样,您就不需要依赖 UrlHelper。基本 url 是从当前请求中推断出来的。

【讨论】:

    【解决方案2】:

    您可以尝试以下两个选项:

    1. HostingEnvironment.MapPath()
    2. 在您的 API 控制器中创建 System.Web.Mvc.UrlHelper

    【讨论】:

      猜你喜欢
      • 2016-09-17
      • 1970-01-01
      • 1970-01-01
      • 2013-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 1970-01-01
      相关资源
      最近更新 更多