Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何生成指向不在WebAPI路由表中的资源的链接?_C#_.net_Asp.net Mvc 4_Asp.net Web Api - Fatal编程技术网

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

C# 如何生成指向不在WebAPI路由表中的资源的链接?,c#,.net,asp.net-mvc-4,asp.net-web-api,C#,.net,Asp.net Mvc 4,Asp.net Web Api,我正试图从ApiController创建一个虚拟目录相对链接,指向某个未知(到WebAPI)资源 例如: http://some/path/webapi/does/not/know WebAPI Url帮助器似乎与路由紧密耦合,没有MVC变体那样的Content()方法。我试图避免使用任何不可模仿的HTTP上下文信息来进行此调用(例如HttpContext.Current) 谢谢你的帮助 你总是可以做到 var-urlBuilder= 新System.UriBuilder(Request.Url

我正试图从
ApiController
创建一个虚拟目录相对链接,指向某个未知(到WebAPI)资源

例如:

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

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

谢谢你的帮助

你总是可以做到

var-urlBuilder= 新System.UriBuilder(Request.Url.AbsoluteUri) { Path=“webapi/does/not/know” };

var uri=urlBuilder.uri


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

这里有两个选项可以尝试:

  • 在API控制器中创建
    System.Web.Mvc.UrlHelper

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