示例#1
0
        public static IWebHostBuilder ConstructWebHostBuilder(
            StartupOptions options,
            IServiceCollection serviceCollection)
        {
            using var _ = Log.OnEnterAndExit();

            // FIX: (ConstructWebHostBuilder) dispose me
            var disposables = new CompositeDisposable
            {
                StartToolLogging(options)
            };

            var httpPort = GetFreePort(options);

            options.HttpPort = httpPort;
            var probingSettings = HttpProbingSettings.Create(options.HttpPort.PortNumber);


            var webHost = new WebHostBuilder()
                          .UseKestrel()
                          .UseDotNetInteractiveHttpApi(true, httpPort, probingSettings, serviceCollection)
                          .UseUrls(probingSettings.AddressList.Select(a => a.AbsoluteUri).ToArray())
                          .UseStartup <Startup>();


            return(webHost);