我需要获取ASP.NET核心1.0.1中的一些操作的绝对URL:
public IActionResult Test(IUrlHelper urlHelper) {
var url = urlHelper.Action(nameof(HomeController.Index), Request.Scheme)
return Ok(url);
}
或
public IActionResult Test(IUrlHelper urlHelper) {
var url = urlHelper.RouteUrl(nameof(HomeController.Index), Request.Scheme)
return Ok(url);
}
这些都没有给我家乡路线的绝对网址。
我该怎么做?
答案 0 :(得分:1)
首先获取相对url,然后获取绝对url并使用具有两个url的Url类构造函数。 Here是ASP.NET MVC6类似问题的公认答案,请注意MVC6 became ASP.NET Core later on。
答案 1 :(得分:0)
我尝试了多种解决方案,但都没有提供所需的输出,我使用的是Core 2.2。
通过Muhammad Rehan Saeed来检查此答案,他在那里创建了一个辅助扩展程序来实现此功能。 (针对Core 1.0 RC及更高版本,于2016年6月回答,并且仍在工作)
Josiah对他的答案进行了修订(2017年11月,在同一问题中),他没有创建新的帮助器,而是扩展了现有的.NET Core MVC类,以便所需的功能似乎是本机解决方案:
Url.AbsoluteAction(...)
Url.AbsoluteContent(...)
Url.AbsoluteRouteUrl(...)
该代码有据可查且易于使用。希望这对那些在解决这一看似简单的任务中迷路的人们有所帮助。