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