In meinem ASP.NET Core-Projekt verlasse ich mich auf die Befehlszeilenargumente, um die Standard-URL zu überschreiben und die Umgebungseinstellung zu überschreiben.Get Hosting-Umgebung mit Hilfe von ConfiguratonBuilder?
Dotnet Uhr laufen --server.urls = https://localhost:5001 --environment "Localhost"
Ich verwende die CommandLineConfigurationExtensions die args
zum Configuration hinzuzufügen. Dies funktioniert gut, aber ich mag auch
public class Program
{
public static void Main(string[] args)
{
var configuration = new ConfigurationBuilder()
.AddCommandLine(args)
.Build();
// More stuff happens with WebHostBuilder,
// and I would very much like to check the
// environment here.
}
}
die eingebaute Konfiguration verwenden würde ich gerne die gleichen Umgebungseinstellungen zuzugreifen, die durch die IHostingEnvironment env
Parameter in der Configure()
Methode der Startup
Klasse zur Verfügung stehen. Aber ich will, es zu tun in Main()
Ich weiß, ich könnte nur die Zeilenargumente Befehl analysieren und für den Wert selbst suchen, oder ziehen Sie den entsprechenden Wert aus der configuration
Variable I gerade gebaut. Es erscheint jedoch unelegant, wenn es offensichtlich eine standardisierte Methode dafür gibt, egal in welchem Teil des Frameworks, das die Klasse, die die IHostingEnvironment
Schnittstelle implementiert, magisch instanziiert, damit der Rest von uns sie benutzen kann.
Solange 'config [" environment "]' "merges" in, um die aktuelle Umgebung einzustellen, bin ich glücklich mit der Verwendung. Danke für die Einsicht! Es hat mir das nötige Selbstvertrauen gegeben :) –