asp.net-core - 在 ASP.NET Core 中获取 Action 的绝对路径

标签 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);
}

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

这些都没有给我家庭路线的绝对网址。

我怎样才能做到这一点?

最佳答案

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

通过 Muhammad Rehan Saeed 检查此答案在那里他创建了一个辅助扩展来实现这个功能。 (2016 年 6 月为 Core 1.0 RC 及以后回答,它仍在工作)

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

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

代码有据可查且易于使用。希望它对在这个看似简单的任务的解决方案中迷失的人们有所帮助。

关于asp.net-core - 在 ASP.NET Core 中获取 Action 的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40206820/

相关文章:

asp.net - 如何为 ASP.NET 5 MVC 6 实现 NoSQL 身份提供程序

asp.net-core - 自定义响应 header 未出现在 API 响应中

c# - 在 ASP.NET Core Web API 中注册一个新的 DelegatingHandler

sql - 存储库模式困境 : Redundant Queries vs. 数据库往返

c# - 在 ASP.Net Core 中使用 Authorize 属性返回 HTTP 403

asp.net-core - 自引用多对多关系

c# - 没有鉴别器的来自不同来源的 EF Core 实体继承

asp.net-core - 如何在 ASP.NET Core 健康检查调用 (MapHealthChecks) 中检查用户代理?

asp.net-mvc - 如何将基准测试记录到 MVC Controller 中的 CSV 文件?

asp.net - 在 .NET Framework 中引用库,而不是在 .NET Standard 中