Angenommen, ich hoste eine Website unter http://www.foobar.com .
Gibt es eine Möglichkeit, programmgesteuert " http://www.foobar.com/ " in meinem Code dahinter zu ermitteln (dh ohne es in meiner Webkonfiguration fest codieren zu müssen)?
Angenommen, ich hoste eine Website unter http://www.foobar.com .
Gibt es eine Möglichkeit, programmgesteuert " http://www.foobar.com/ " in meinem Code dahinter zu ermitteln (dh ohne es in meiner Webkonfiguration fest codieren zu müssen)?
Request
Objekt zu schauen .Antworten:
Mit HttpContext.Current.Request.Url können Sie alle Informationen zur URL abrufen . Und kann die URL in ihre Fragmente zerlegen.
quelle
Uri :: GetLeftPart Methode :
UriPartial Enumeration :
quelle
Für alle, die sich noch fragen, finden Sie eine vollständigere Antwort unter http://devio.wordpress.com/2009/10/19/get-absolut-url-of-asp-net-application/ .
quelle
context.Request.Url.Port == 80
durch(context.Request.Url.Port == 80 && context.Request.Url.Scheme == "http") || (context.Request.Url.Port == 443 && context.Request.Url.Scheme == "https")
oder Verwendung Antwort untenWenn Beispiel-URL http://www.foobar.com/Page1 ist
quelle
.Host
von"http://www.foobar.com/Page1"
istwww.foobar.com
nichtfoobar.com
.quelle
So erhalten Sie die gesamte Anforderungs-URL-Zeichenfolge:
So erhalten Sie den Teil www.foo.com der Anfrage:
Beachten Sie, dass Sie bis zu einem gewissen Grad Faktoren außerhalb Ihrer ASP.NET-Anwendung ausgeliefert sind. Wenn IIS so konfiguriert ist, dass mehrere oder beliebige Host-Header für Ihre Anwendung akzeptiert werden, wird möglicherweise jede der Domänen, die über DNS in Ihre Anwendung aufgelöst wurden, als Anforderungs-URL angezeigt, je nachdem, welche vom Benutzer eingegeben wurde.
quelle
host.com => host.com zurückgeben
s.host.com => host.com zurückgeben
host.co.uk => return host.co.uk
www.host.co.uk => return host.co.uk
s1.www.host.co.uk => return host.co.uk
quelle
- Das Hinzufügen des Ports kann beim Ausführen von IIS Express hilfreich sein
quelle
quelle
Ich weiß, dass dies älter ist, aber der richtige Weg, dies jetzt zu tun, ist
Dadurch wird die DNS- oder IP-Adresse mit Port für einen Server abgerufen.
quelle
Das funktioniert auch:
quelle
C # Beispiel unten:
quelle
quelle
Dies gibt genau das zurück, was Sie fragen.
Ich weiß, dass dies eine ältere Frage ist. Aber ich brauchte die gleiche einfache Antwort und diese gibt genau das zurück, was gefragt wird (ohne http: //).
quelle