c# - 有没有办法从代码中获取完整的 URL 到其他控制器方法?
问题描述
我有 Asp.Net Core Web 应用程序。带以下控制器
[Produces("application/json")]
[Route("api/[controller]")]
public class TestController
{
[HttpGet]
[Route("firstroute")]
public async Task<IActionResult> FirstMethod()
{
...Some code...
}
[HttpGet]
[Route("secondroute")]
public async Task<IActionResult> SecondMethod()
{
...
SomeMethod(redirectLink)
...
}
}
我需要的是获得完全组装的重定向链接到 FirstMethod(它可能类似于:“ http://localhost/api/test/firstroute ”)。我不需要 RedirectToAction,而是精确的 Url 作为字符串。没有设法在 this.Url 或 Microsoft.AspNetCore.Http.Extensions 中找到任何合适的方法。
this.Request.GetDisplayUrl() 以适当的格式返回结果,但仅适用于被调用的方法。
解决方案
您可以使用来自HttpContext.Request的数据,如下所示
var Url = string.Format("{0}://{1}{2}", HttpContext.Request.Scheme,HttpContext.Request.Host,"/api/firstroute");
并通过重定向
return Redirect(Url);
推荐阅读
- c# - 如何为在 C# 中用户键入特定单词之前重复的 Switch 语句创建循环
- c# - 是否可以在 Xamarin Forms WPF 中创建真正的对话框
- c# - 有没有办法创建一个带有 UWP 扩展的 WinForms 应用程序,而不是相反?
- python - 如何快速将切片从 cuda 张量 wrt 切割成另一个张量值
- c++ - OpenGL:透视分割是如何工作的?
- python - 如何在 python 中将 YAML 拆分为不同的文件?
- linux-kernel - 在本机 ARM 设备上编译 Linux 内核后,加载模块失败
- powershell - 查找数组是否有值,然后从该数组中复制 id
- python - Python 字符串切片教程
- c# - 在 SSIS 中不使用公共数据源创建数据表