[Desenvolvimento .NET Núcleo de notas de aprendizado prático] StartUp: entender o programa de inicialização

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

Acho que você gosta

Origin www.cnblogs.com/c-supreme/p/12459414.html
Recomendado
Clasificación