Ejercicio: ejecución local de la aplicación web

Completado 100 XP
Elección de un entorno de desarrollo integrado (IDE) o el shell

En este ejercicio, aprenderá a:

  • Ejecute la aplicación web localmente y visualícela en un explorador.
  • Revise cómo se sirve la aplicación web.

Ejecución de la aplicación web y vista en un explorador

Ejecute la aplicación web en Visual Studio Code y véala en un explorador:

  1. En Visual Studio Code, presione F5 para ejecutar la aplicación.

    Visual Studio Code:

    • Se desencadena el comando de la CLI de .NET dotnet run que compila y ejecuta la aplicación.
    • Asocia el depurador a la aplicación en ejecución.

    La primera vez que se ejecuta el proyecto en Visual Studio Code, se muestra la indicación Seleccionar depurador.

  2. En la indicación Seleccionar depurador de la Paleta de comandos en la parte superior de la interfaz de usuario de Visual Studio Code, seleccione C#. En la siguiente indicación, seleccione la configuración de inicio predeterminada (C#: MyWebApp [Default Configuration]):

    Captura de pantalla de la opción de Seleccionar depurador en la Paleta de comandos.

    El explorador predeterminado se inicia en http://localhost:{PORT}, que muestra la respuesta de la aplicación. El marcador de posición {PORT} es el puerto aleatorio asignado a la aplicación cuando se crea el proyecto de la aplicación. Si necesita cambiar el puerto debido a un conflicto de puerto local, cambie el puerto en el archivo del proyecto Properties/launchSettings.json.

    Respuesta que se muestra en el explorador:

    Captura de pantalla de un explorador que muestra la salida de texto.

  3. Cierra la ventana del explorador.

  4. En Visual Studio, tiene distintas opciones:

    • En el menú Ejecutar, seleccione Detener depuración.
    • Presiona Mayús+F5 en el teclado.

Crear la aplicación web mediante la CLI de .NET:

  1. Desde un terminal o la línea de comandos, vaya al directorio del proyecto MyWebApp que contiene el archivo myWebApp.csproj.

  2. Compilar y ejecutar la aplicación con el siguiente comando:

    CLI de .NET
    dotnet run
    

    El proyecto se compila y se ejecuta, y se muestra la salida siguiente en la línea de comandos:

    Output
    C:\MyWebApp> dotnet run
    Building...
    info: Microsoft.Hosting.Lifetime[14]
            Now listening on: http://localhost:5267
    info: Microsoft.Hosting.Lifetime[0]
            Application started. Press Ctrl+C to shut down.
    

    Dado que el número de puerto de la dirección URL proporcionada se establece aleatoriamente en la configuración en la creación del proyecto, el punto de conexión puede tener un número de puerto diferente.

  3. Abra un explorador en la dirección URL generada en la salida de la línea de comandos propia; se muestra la respuesta de la aplicación Hello World!:

    Captura de pantalla de un explorador que muestra la salida de texto.

  4. Presione Ctrl+C en la línea de comandos para apagar la aplicación.

Cómo se sirve la aplicación web

Cuando se compila y se ejecuta la aplicación, se producen los pasos siguientes:

Compilación y configuración:

  • MSBuild se invoca para restaurar dependencias y compilar el proyecto. MSBuild procesa el archivo de proyecto MyWebApp.csproj y compila el código fuente en un ensamblado.
  • La aplicación lee las opciones de configuración, incluidas las especificadas en launchSettings.json para el perfil de inicio predeterminado (la primera enumerada).

Configuración del host:

  • El método CreateHostBuilder de Program.cs configura el host web. De forma predeterminada, WebHostBuilder configura Kestrel como servidor web. Kestrel es un servidor web multiplataforma para ASP.NET Core diseñado para un alto rendimiento.
  • Kestrel comienza a escuchar las solicitudes HTTP entrantes en las direcciones URL configuradas, incluido HTTPS si se especifica.

Gestión de solicitudes:

  • Cuando se recibe una solicitud, Kestrel la reenvía a la canalización de middleware de ASP.NET Core.
  • La canalización de middleware procesa la solicitud a través de una serie de componentes de middleware, que pueden controlar tareas como la autenticación, el registro y el enrutamiento.
  • Si la solicitud coincide con una ruta definida, se ejecuta el punto de conexión correspondiente. En este caso, el punto de conexión de app.MapGet("/", () => "Hello World!") controla las solicitudes a la dirección URL raíz y devuelve la cadena Hello World!.

Respuesta:

  • La respuesta, que en este caso es la cadena "Hello World!" (Hola mundo), se devuelve a través de la canalización de middleware a Kestrel, que luego la devuelve al cliente.

Siguiente unidad: Ejercicio: realización de cambios en el código

Anterior Siguientes