private void InitializeHost(LocalWebServerConfig config) { _host = Host.CreateDefaultBuilder() .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseUrls($"http://localhost:{config.Port}"); var configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddJsonFile("appsettings.json"); var configuration = configurationBuilder.Build(); webBuilder.UseConfiguration(configuration); webBuilder.UseStartup <Startup>(); }) .Build(); }
private Task StartWebMode(WebOptions options) { var config = new LocalWebServerConfig { Port = options.Port }; var tokenSource = new CancellationTokenSource(); var token = new CancellationToken(); /*var task = */ _localWebServer.RunAsync(config, token); UtilConsole.WriteSuccess("Local server started. Press <Enter> to stop..."); if (options.OpenWindow) { var url = $"http://localhost:{config.Port}"; UtilSystem.OpenUrl(url); } Console.ReadLine(); Console.WriteLine("Stopping local server..."); _localWebServer.Stop(); tokenSource.Cancel(); return(Task.CompletedTask); }
public async Task RunAsync(LocalWebServerConfig config, CancellationToken token) { InitializeHost(config); IsStarted = true; await _host.RunAsync(token); }
public void Start(LocalWebServerConfig config) { InitializeHost(config); IsStarted = true; _host.Start(); }