Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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
Asp.net core 获取ASP.NET核心中的绝对操作路线_Asp.net Core - Fatal编程技术网

Asp.net core 获取ASP.NET核心中的绝对操作路线

Asp.net core 获取ASP.NET核心中的绝对操作路线,asp.net-core,Asp.net Core,我需要获取ASP.NET core 1.0.1中一些操作的绝对URL: public IActionResult Test(IUrlHelper urlHelper) { var url = urlHelper.Action(nameof(HomeController.Index), Request.Scheme) return Ok(url); } 或 所有这些都没有给我回家路线的绝对Url 如何实现这一点?首先获取相对url,然后获取绝对url,并将url类构造函数与两个url一起

我需要获取ASP.NET core 1.0.1中一些操作的绝对URL:

public IActionResult Test(IUrlHelper urlHelper) {
  var url = urlHelper.Action(nameof(HomeController.Index), Request.Scheme)
  return Ok(url);
}

所有这些都没有给我回家路线的绝对Url


如何实现这一点?

首先获取相对url,然后获取绝对url,并将url类构造函数与两个url一起使用。
是ASP.NET MVC6类似问题的公认答案,请注意。

我尝试了多种解决方案,但没有一种能够提供所需的输出,我使用的是Core 2.2

通过他在何处创建帮助程序扩展以实现此功能来检查此答案。(2016年6月对Core 1.0 RC及以后版本进行了答复,目前仍在运行)

他的答案已被修改(2017年11月,在同一个问题中),他没有创建新的助手,而是扩展了现有的.NET Core MVC类,以使所需的功能看起来是本机解决方案:

Url.AbsoluteAction(...)
Url.AbsoluteContent(...)
Url.AbsoluteRouteUrl(...)

代码有很好的文档记录,并且易于使用。希望它能对那些在解决这项看似简单的任务时迷失方向的人们有所帮助。

我不太确定这是否可能实现,但理论上可以有多条路线映射到你的行动,例如,如果多条路线可以导致同一行动,你打算如何获得绝对URL?对不起,我不明白你的意思。我只是想得到绝对路线。。。我发布了一些示例,说明我试图完成相同的任务,但没有成功如果我正确理解了您的问题,您对控制器(例如HomeController.Index)有一个操作,并且您希望通过这些名称获取url(例如www.myapp.com/home/Index)?如果这样,可能存在多个映射(即指向同一路由的多个URL),并且读取它们的唯一方法可能是从路由器。是。这就是我需要的
Url.AbsoluteAction(...)
Url.AbsoluteContent(...)
Url.AbsoluteRouteUrl(...)