public void Main(string[] args) { // Allow the location of the ini file to be specified via a --config command line arg var tempBuilder = new ConfigurationBuilder().AddCommandLine(args); var tempConfig = tempBuilder.Build(); var configFilePath = tempConfig[ConfigFileKey] ?? HostingIniFile; var appBasePath = _serviceProvider.GetRequiredService<IApplicationEnvironment>().ApplicationBasePath; var builder = new ConfigurationBuilder(appBasePath); builder.AddIniFile(configFilePath, optional: true); builder.AddEnvironmentVariables(); builder.AddCommandLine(args); var config = builder.Build(); var host = new WebHostBuilder(_serviceProvider, config).Build(); using (host.Start()) { Console.WriteLine("Started"); var appShutdownService = host.ApplicationServices.GetRequiredService<IApplicationShutdown>(); Console.CancelKeyPress += (sender, eventArgs) => { appShutdownService.RequestShutdown(); // Don't terminate the process immediately, wait for the Main thread to exit gracefully. eventArgs.Cancel = true; }; appShutdownService.ShutdownRequested.WaitHandle.WaitOne(); } }
//https://github.com/aspnet/Hosting/blob/dev/src/Microsoft.AspNet.Hosting/Program.cs public Task<int> Main(string[] args) { //Add command line configuration source to read command line parameters. var builder = new ConfigurationBuilder(); builder.AddCommandLine(args); var config = builder.Build(); var webhost = new WebHostBuilder(_serviceProvider, config) .UseServer("Microsoft.AspNet.Server.WebListener") .Build(); using (var host = webhost.Start()) { var orchardHost = new OrchardHost(webhost.ApplicationServices, System.Console.In, System.Console.Out, args); return Task.FromResult( (int)orchardHost.Run()); } }
public Task<int> Main(string[] args) { //Add command line configuration source to read command line parameters. var builder = new ConfigurationBuilder(); builder.AddCommandLine(args); var config = builder.Build(); using (new WebHostBuilder(_serviceProvider, config) .UseServer("Microsoft.AspNet.Server.WebListener") .Build() .Start()) { Console.WriteLine("Started the server.."); Console.WriteLine("Press any key to stop the server"); Console.ReadLine(); } return Task.FromResult(0); }
public void Main(string[] args) { var builder = new ConfigurationBuilder(); Console.WriteLine("Initial Config Sources: " + builder.Sources.Count()); var defaultSettings = new MemoryConfigurationSource(); defaultSettings.Set("username", "Guest"); builder.Add(defaultSettings); Console.WriteLine("Added Memory Source. Sources: " + builder.Sources.Count()); builder.AddCommandLine(args); Console.WriteLine("Added Command Line Source. Sources: " + builder.Sources.Count()); var config = builder.Build(); string username = config.Get("username"); Console.WriteLine($"Hello, {username}!"); }