[NET Núcleo de notas prácticos de aprendizaje] de inicio: entender el programa de inicio

La grabación de inicio de cursos de aprendizaje del maestro Yu Xiaowei desarrollaron aprendizaje práctico [.NET Core], la grabación en cada formulario resumen de la lección

Sección Inicio: entender el programa de inicio

Crear un proyecto ASP.NET Web Core, se pueden ver dos clases básicas de Programa y de inicio, llamado método CreateHostBuilder en el método principal del programa, y devuelve un IHostBuilder interfaz, que es la interfaz central portadora de todo el proyecto.

En el método CreateHostBuilder, proceso ConfigureWebHostDefaults método de aumento anfitrión llama a otro clases básicas de inicio,

De hecho, toda la configuración se puede ajustar en el programa, llame a las otras clases básicas StartUp mejor estructura de código de gestión

En todo el proceso de implementación, ejecución del método se lleva a cabo en un orden determinado, como por ejemplo el siguiente código, y no escribe código secuencial para llevar a cabo sus propias funciones encomendadas lugar a un orden fijo para realizar

Program.CreateHostBuilder define como sigue

pública  estática IHostBuilder CreateHostBuilder ( string [] args) => 
            Host.CreateDefaultBuilder (args) 
                .ConfigureHostConfiguration (configurationBuilder => 
                { 
                    Console.WriteLine ( " 执行方法: ConfigureHostConfiguration " ); 
                }) 
                .ConfigureServices (servicios => 
                { 
                    Console.WriteLine ( " 执行方法: ConfigureServices " ); 
                }) 
                .ConfigureLogging (loggingBuilder => 
                {
                    Console.WriteLine ( " método de ejecución: ConfigureLogging " ); 
                }) 
                .ConfigureAppConfiguration ((hostBuilderContext, configurationBinder) => 
                { 
                    Console.WriteLine ( " método de ejecución: ConfigureAppConfiguration " ); 
                }) 
                .ConfigureWebHostDefaults (WebBuilder => 
                { 
                    Console.WriteLine ( " método de ejecución: ConfigureWebHostDefaults " ); 
                    webBuilder.UseStartup <el inicio> (); 
                });

El método de inicio definido

público de inicio (configuración IConfiguration) 
        { 
            Console.WriteLine ( " 执行方法: Puesta en marcha " ); 
            Configuración = configuración; 
        } 

        Pública Configuración IConfiguration { get ; } 

        // Este método es llamado por el tiempo de ejecución. Utilizar este método para agregar servicios al contenedor. 
        públicos  vacíos ConfigureServices (servicios IServiceCollection) 
        { 
            Console.WriteLine ( " 执行方法: Startup.ConfigureServices " ); 
            services.AddControllers (); 
        }

        // Este método es llamado por el tiempo de ejecución. Utilizar este método para configurar la canalización de solicitud HTTP. 
        pública  vacío Configurar (IApplicationBuilder aplicación, IWebHostEnvironment env) 
        { 
            Console.WriteLine ( " 执行方法: Startup.Configure " );
            si (env.IsDevelopment ()) 
            { 
                app.UseDeveloperExceptionPage (); 
            } 

            App.UseHttpsRedirection (); 

            app.UseRouting (); 

            app.UseAuthorization (); 

            app.UseEndpoints (puntos finales => 
            { 
                endpoints.MapControllers (); 
            }); 
        }

FIG resultados de la ejecución son las siguientes

 

Los resultados visibles de la aplicación se lleva a cabo en un orden específico, y no interfaz de llamada ha cambiado el orden de ejecución

 

Esto también demuestra que el orden de ejecución que va a ser reemplazado en el proceso de CreateHostBuilder Cuando el tercer marco de registro del partido, en lugar de en el de inicio

Supongo que te gusta

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