如何生成指向不在WebAPI路由表中的资源的链接?

本文关键字:资源 链接 路由 WebAPI 何生成 | 更新日期: 2023-09-27 18:14:19

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

的例子:

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

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

谢谢你的帮助!

如何生成指向不在WebAPI路由表中的资源的链接?

你可以这样做,

var urlBuilder =新System.UriBuilder (Request.Url.AbsoluteUri){Path = "webapi/does/not/know"

};

var uri = urlBuilder。Uri

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

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

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