Iniciar a gravação Xiaowei Yu cursos de aprendizagem de professores desenvolvidos aprendizagem prática [.NET Core], a gravação em cada formulário de resumo lição
Seção StartUp: entender o programa de inicialização
Criando um projeto ASP.NET Núcleo Web, você pode ver duas classes principais de programa e StartUp, chamado método CreateHostBuilder no método principal do Programa, e retorna um IHostBuilder interface, que é a interface núcleo levando todo o projeto.
No método CreateHostBuilder, processo ConfigureWebHostDefaults método Desenvolver anfitrião chama outro classes principais de arranque,
Na verdade, toda a configuração pode ser definida no Programa, chamar os outros principais classes de StartUp melhor estrutura de código de gestão
Em todo o processo de implementação, a execução do método é realizada em uma determinada ordem, tais como o seguinte código, e não escrever o código sequencial para realizar suas próprias funções confiadas ao invés de uma ordem fixa para executar
Program.CreateHostBuilder definidas como se segue
pública estática IHostBuilder CreateHostBuilder ( corda [] args) => Host.CreateDefaultBuilder (args) .ConfigureHostConfiguration (configurationBuilder => { Console.WriteLine ( " 执行方法: ConfigureHostConfiguration " ); }) .ConfigureServices (serviços => { Console.WriteLine ( " 执行方法: ConfigureServices " ); }) .ConfigureLogging (loggingBuilder => { Console.WriteLine ( " método de execução: ConfigureLogging " ); }) .ConfigureAppConfiguration ((hostBuilderContext, configurationBinder) => { Console.WriteLine ( " método de execução: ConfigureAppConfiguration " ); }) .ConfigureWebHostDefaults (WebBuilder => { Console.WriteLine ( " método de execução: ConfigureWebHostDefaults " ); webBuilder.UseStartup <o Startup> (); });
O método como definido arranque
público Startup (configuração IConfiguration) { Console.WriteLine ( " 执行方法: Startup " ); Configuração = configuração; } Pública Configuração IConfiguration { get ; } // Este método é chamado pelo tempo de execução. Utilize este método para adicionar serviços para o recipiente. públicos vazios ConfigureServices (serviços IServiceCollection) { Console.WriteLine ( " 执行方法: Startup.ConfigureServices " ); services.AddControllers (); } // Este método é chamado pelo tempo de execução. Utilize este método para configurar o pipeline de solicitação HTTP. pública vazio Configure (IApplicationBuilder aplicativo, IWebHostEnvironment env) { Console.WriteLine ( " 执行方法: Startup.Configure " ); se (env.IsDevelopment ()) { app.UseDeveloperExceptionPage (); } App.UseHttpsRedirection (); app.UseRouting (); app.UseAuthorization (); app.UseEndpoints (endpoints => { endpoints.MapControllers (); }); }
FIG resultados da execução são como se segue
resultados visíveis da implementação é realizada em uma ordem específica, e não interface de chamada mudou a ordem de execução
Isso também mostra que a ordem de execução, é substituído na CreateHostBuilder processo quando se utiliza uma estrutura de log de terceiros, em vez de no StartUp