Ich versuche, mehrere virtuelle Hosts von der gleichen Codebasis aus zu bedienen. Ein Gedanke, den ich hatte, war die HTTP-Host-Header als Route-Wert übergeben, weil ich nicht auf HttpContext in den Controllern wegen der Einheit Testbarkeit verlassen wollte.
Ich hatte geplant, diese Route Wert in einem Controller-Basisklasse oder etwas ähnliches aussetzen. Ich habe versucht, als eine Route Wert wie folgt übergeben:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { host = HttpContext.Current.Request.Url.Host, controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Dies führt zu einer HttpException: Anfrage ist in diesem Kontext nicht verfügbar.
Für jede Idee oder jeden Vorschlag, wie man das besser machen könnte, wäre ich dankbar.