无法获取 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());
祝你好运。
环境: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());
祝你好运。