示例#1
0
        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();
        }
示例#2
0
        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);
        }
示例#3
0
 public async Task RunAsync(LocalWebServerConfig config, CancellationToken token)
 {
     InitializeHost(config);
     IsStarted = true;
     await _host.RunAsync(token);
 }
示例#4
0
 public void Start(LocalWebServerConfig config)
 {
     InitializeHost(config);
     IsStarted = true;
     _host.Start();
 }