无法获取 Web API 控制器方法的 URL

Unable to get Web API controller method's URL

环境:C# Core 3.1 WebApi 项目。

在我的控制器中,我试图获取当前 URL 但得到的是空值。我已经使用 Url class:

尝试了很多事情
var x = Url.Link("https://localhost:44397/api/Account/Accounts/", new { a = 1, b = 2 });
var y = Url.RouteUrl("www.xyz.com", new { a = 3, b = 4 });
var url = Url.Link("GetAuthors", authorsResourceParameters);
var r = Url.RouteUrl("This route");
var yd = Url.Action("myAction", "myController", authorsResourceParameters, "https");

Url class 来自 Microsoft.AspNetCore.Mvc.Routing.EndpointRoutingUrlHelper。这是正确的命名空间吗?

我错过了什么?

您可以使用以下代码:

var request = HttpContext.Request;

var uri = string.Concat(request.Scheme,"://",
                        request.Host.ToUriComponent(),
                        request.PathBase.ToUriComponent(),
                        request.Path.ToUriComponent(),
                        request.QueryString.ToUriComponent());

祝你好运。