Asp.Net Core 中的 Request.Url.PathAndQuery

Iva*_*an 3 asp.net-core

我从 Asp.Net Framework 迁移到了 Asp.Net Core。Request.Url.PathAndQueryAsp.Net Core 中的替换或等效属性是什么?

Ade*_*ger 19

从 ASP.NET Core 2.0 开始使用UriHelper.GetEncodedPathAndQuery(HttpRequest)扩展方法

它在Microsoft.AspNetCore.Http.Extensions命名空间中。

例如,在Controller操作方法内部:

using Microsoft.AspNetCore.Http.Extensions;

[...]

[Route("/foobar")]
public IActionResult MyControllerAction()
{
    string pathAndQuery = this.Request.GetEncodedPathAndQuery();
}
Run Code Online (Sandbox Code Playgroud)

  • 这是当前的实际答案。 (2认同)

Rya*_*yan 7

您需要使用HttpContext.

在控制器中:

var path = HttpContext.Request.Path;
var query = HttpContext.Request.QueryString;
var pathAndQuery = path + query;
Run Code Online (Sandbox Code Playgroud)

要获取HttpContext,请参阅如何在 Asp.Net Core 中访问 HttpContext