Wenn Sie wirklich die tatsächliche, unformatierte URL möchten , können Sie die folgende Erweiterungsmethode verwenden:
public static class HttpRequestExtensions
{
public static Uri GetRawUrl(this HttpRequest request)
{
var httpContext = request.HttpContext;
var requestFeature = httpContext.Features.Get<IHttpRequestFeature>();
return new Uri(requestFeature.RawTarget);
}
}
Diese Methode verwendet die RawTarget
Anforderung, die nicht auf dem HttpRequest
Objekt selbst angezeigt wird . Diese Eigenschaft wurde in der Version 1.0.0 von ASP.NET Core hinzugefügt. Stellen Sie sicher, dass Sie diese oder eine neuere Version ausführen.
HINWEIS! Diese Eigenschaft macht die unformatierte URL verfügbar, sodass sie nicht dekodiert wurde, wie in der Dokumentation angegeben:
Diese Eigenschaft wird intern nicht für Routing- oder Autorisierungsentscheidungen verwendet. Es wurde nicht urlDecodiert und sollte bei der Verwendung vorsichtig sein.