Der Hosts-Hostname wird nicht in c # ASP.NET MVC zurückgegeben

8

Ich teste gerade eine Site mit mehreren Subdomains, die auf dieselbe ASP.NET-Anwendung verweisen, und das Routing behandelt, was mit jeder Anfrage zu tun ist.

Zum Testen habe ich meiner "hosts file" mehrere Subdomains hinzugefügt, z. "127.0.0.1 admin.TestDomain.com", was gut funktioniert.

Das Problem ist jedoch, dass, wenn ich irgendeine Funktion in c # aufrufe, um den Hostnamen / Domäne / URL (HttpContext.Current.Request.Url ...) zu erhalten, die Host-URL immer mit "localhost" zurückkommt als "TestDomain".

Irgendwelche Ideen, warum dieser Name auf diese Weise gelöst wird und wo ich "TestDomain.com" ergattern kann?

    
Paul Grimshaw 29.03.2012, 23:08
quelle

1 Antwort

11

Ich denke, der ursprüngliche Host ist nach der Zuordnung der Domain zur IP-Adresse (localhost) vom lokalen Betriebssystem mit Ihrer "Host" -Datei verloren gegangen. Sie können RawUrl stattdessen versuchen, die im Browser eingegebene exakte URL abzurufen:

%Vor%

Sie können auch versuchen, die HTTP_HOST Variable vom Benutzer Host: request header abzurufen, sie sollte den ursprünglichen Host (keine Adresse oder Standard-Host des Servers) enthalten, der versucht, Folgendes anzufordern:

%Vor%

Vielleicht Parameter von RawUrl erhalten Artikel wird hilfreich sein.

    
Serge S. 26.04.2012, 13:59
quelle

Tags und Links