Skip to content
代码片段 群组 项目
Program.cs 2.2 KB
更新 更旧
  • 了解如何忽略特定修订
  • // Copyright (c) .NET Foundation. All rights reserved.
    // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
    
    
    Ryan Nowak's avatar
    Ryan Nowak 已提交
    using System;
    
    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    
    using Microsoft.Extensions.Logging;
    
    namespace RoutingSandbox
    
            public const string EndpointRoutingScenario = "endpointrouting";
            public const string RouterScenario = "router";
    
    Ryan Nowak's avatar
    Ryan Nowak 已提交
    
    
    Ryan Nowak's avatar
    Ryan Nowak 已提交
                var webHost = GetWebHostBuilder(args).Build();
    
    Ryan Nowak's avatar
    Ryan Nowak 已提交
            public static IWebHostBuilder GetWebHostBuilder(string[] args)
    
    Ryan Nowak's avatar
    Ryan Nowak 已提交
                string scenario;
                if (args.Length == 0)
                {
                    Console.WriteLine("Choose a sample to run:");
    
                    Console.WriteLine($"1. {EndpointRoutingScenario}");
    
    Ryan Nowak's avatar
    Ryan Nowak 已提交
                    Console.WriteLine($"2. {RouterScenario}");
                    Console.WriteLine();
    
                    scenario = Console.ReadLine();
                }
                else
                {
                    scenario = args[0];
                }
    
                Type startupType;
                switch (scenario)
                {
                    case "1":
    
                    case EndpointRoutingScenario:
                        startupType = typeof(UseEndpointRoutingStartup);
    
    Ryan Nowak's avatar
    Ryan Nowak 已提交
                        break;
    
                    case "2":
    
    Ryan Nowak's avatar
    Ryan Nowak 已提交
                        startupType = typeof(UseRouterStartup);
                        break;
    
                    default:
                        Console.WriteLine($"unknown scenario {scenario}");
    
                        Console.WriteLine($"usage: dotnet run -- ({EndpointRoutingScenario}|{RouterScenario})");
    
    Ryan Nowak's avatar
    Ryan Nowak 已提交
                        throw new InvalidOperationException();
    
                }
    
    
                return new WebHostBuilder()
                    .UseKestrel()
                    .UseIISIntegration()
    
                    .ConfigureLogging(b =>
                    {
                        b.AddConsole();
    
                        b.SetMinimumLevel(LogLevel.Critical);
    
                    })
                    .UseContentRoot(Environment.CurrentDirectory)
    
                    .UseStartup(startupType);