public override void Configure()

in Hands-on lab/lab-files/src-invoicing-functions/FunctionApp/Startup.cs [20:54]


        public override void Configure(IFunctionsHostBuilder builder)
        {
            var bfOptions = new BrowserFetcherOptions();
            if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
            {
                bfOptions.Path = Path.GetTempPath();
            }
            var bf = new BrowserFetcher(bfOptions);
            bf.DownloadAsync(BrowserFetcher.DefaultRevision).Wait();
            var info = new AppInfo
            {
                BrowserExecutablePath = bf.GetExecutablePath(BrowserFetcher.DefaultRevision)
            };

            var port = GetAvailablePort();
            info.RazorPagesServerPort = port;
            builder.Services.AddSingleton(info);

            var webHost = Host.CreateDefaultBuilder()
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    var scriptRoot = Environment.GetEnvironmentVariable("AzureWebJobsScriptRoot");
                    System.Console.WriteLine($"Starting web server on port {port}");
                    if (!string.IsNullOrEmpty(scriptRoot))
                    {
                        webBuilder.UseContentRoot(scriptRoot);
                    }

                    webBuilder.UseUrls($"http://0.0.0.0:{port}")
                        .UseStartup<RazorPagesApp.Startup>();
                })
                .Build();

            webHost.Start();
        }