Sie sollten immer noch in der Lage sein, das zusammenzusetzen, was Sie brauchen. Sie haben Zugriff auf das Anforderungsobjekt, wenn Ihr Controller von erbt Controller
.
Wenn Sie VS2017 verwenden, starten Sie eine neue ASPNet Core MVC-App und ersetzen Sie den Homecontroller durch:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
public IActionResult About()
{
ViewData["Message"] = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}";
return View();
}
public IActionResult Contact()
{
ViewData["Message"] = "Your contact page.";
return View();
}
public IActionResult Error()
{
return View();
}
}
Ich habe nur einige Dinge hinzugefügt, die Sie an der "About" -Methode interessieren könnten, aber Sie sollten den Rest der Anforderungsklasse untersuchen, damit Sie wissen, was noch verfügbar ist.
Wie @Tseng hervorhob, haben Sie möglicherweise ein Problem, wenn Sie Kestrel hinter IIS oder Azure App Service ausführen. Wenn Sie jedoch das IISIntegration-Paket oder das AzureAppServices-Paket verwenden (indem Sie das Nuget-Paket installieren und es in Program.cs zu Ihrem WebHostBuilder hinzufügen), tritt ein Problem auf sollte diese Header an Sie weiterleiten. In Azure funktioniert das hervorragend, da ich manchmal Entscheidungen treffen muss, die darauf basieren, welchen Hostnamen sie treffen. Die IIS / Azure-Pakete leiten auch die ursprüngliche Remote-IP-Adresse weiter, die ich protokolliere.