Rufen Sie eine unformatierte URL von Microsoft.AspNet.Http.HttpRequest ab
Den HttpRequest
Klasse in Asp.Net 5 (vNext) enthält (unter anderem) analysiert details über die URL für die Anfrage, wie Scheme
Host
Path
etc.
Habe ich noch nicht entdeckt überall noch durch die ursprüngliche Anforderungs-URL wenn - nur diese Analysierte Werte. (In früheren Versionen gab es Request.Uri
)
Bekomme ich die raw-URL zurück, die zimmerreserviereung, ohne das Stück, das es zusammen aus den verfügbaren Komponenten auf HttpRequest?
InformationsquelleAutor der Frage Jon Egerton | 2015-01-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht es aus wie Sie können nicht direkt auf ihn zugreifen, aber Sie können bauen Sie es mit dem Rahmen:
Können Sie auch verwenden, die oben als eine Erweiterung Methode.
Dieser gibt eine
string
eher als eineUri
aber es sollte dem Zweck dienen! (Das scheint auch zu dienen, die Rolle derUriBuilder
auch.)Dank @mswietlicki für den Hinweis, es wurde nur umgestaltet werden, eher als fehlen! Und auch um @C-F zeigen den namespace ändern, in meiner Antwort!
InformationsquelleAutor der Antwort Matt DeKrey
Hinzufügen von Nuget-Paket /mit:
(In ASP.NET Core RC1 das war in Microsoft.AspNet.Http.Erweiterungen)
anschließend können Sie die vollständigen http-request-url, indem Sie ausführen:
oder
je nach dem Zwecke.
InformationsquelleAutor der Antwort Velin Georgiev
Wenn Sie wirklich wollen die eigentliche raw URLkönnen Sie mit der folgenden extension Methode:
Diese Methode nutzt die
RawTarget
von der Anfrage, der ist nicht aufgetaucht, auf dieHttpRequest
Objekt selbst. Diese Eigenschaft wurde Hinzugefügt, in der 1.0.0 Version von ASP.NET Core. Stellen Sie sicher, dass Sie ausgeführt wird, oder eine neuere version.HINWEIS! Diese Eigenschaft macht die raw URL, also es ist noch nicht entschlüsselt, wie bereits von der Dokumentation:
InformationsquelleAutor der Antwort khellang
Folgende extension-Methode reproduziert die Logik aus der pre-beta5
UriHelper
:InformationsquelleAutor der Antwort Sam
Diese Erweiterung funktioniert für mich:
mithilfe von Microsoft.AspNetCore.Http;
InformationsquelleAutor der Antwort Mark Redman
In ASP.NET 5 beta5:
InformationsquelleAutor der Antwort Smartkid
Den anderen Lösungen nicht passen gut zu meinen Bedürfnissen, denn ich wollte direkt eine
URI
Objekt und ich denke, es ist besser, zu vermeiden, die string-Verkettung (auch) in diesem Fall, also habe ich diese Erweiterung Methoden als eineUriBuilder
und funktioniert auch mit urls wiehttp://localhost:2050
:InformationsquelleAutor der Antwort giammin