Primeros pasos con asp.net-core

Instalación y configuración

Instalación de Visual Studio

Si no tiene instalado Visual Studio, puede descargar la edición gratuita de Visual Studio Community Edition aquí. Si ya lo tiene instalado, puede continuar con el siguiente paso.

Creación de una aplicación ASP.NET Core MVC.

  1. Abrir Visual Studio.
  2. Seleccione Archivo > Nuevo Proyecto.
  3. Seleccione Web en el idioma de su elección dentro de la sección Plantillas a la izquierda.
  4. Elija un tipo de proyecto preferido dentro del cuadro de diálogo.
  5. Opcional: Elija un .NET Framework al que le gustaría apuntar
  6. Nombra tu proyecto e indica si deseas crear una Solución para el proyecto.
  7. Haga clic en Aceptar para crear el proyecto.

ingrese la descripción de la imagen aquí

Se le presentará otro cuadro de diálogo para seleccionar la plantilla que desea utilizar para el proyecto:

ingrese la descripción de la imagen aquí

Cada una de las descripciones se explica por sí misma. Para este primer proyecto, seleccione Aplicación web, que contendrá todas las configuraciones predeterminadas, la autenticación y parte del contenido existente.

Dado que esta es una aplicación de introducción y no requiere ningún tipo de seguridad o autenticación, puede cambiar la opción de autenticación a Sin autenticación en el lado derecho del cuadro de diálogo y hacer clic en Aceptar para crear el proyecto.

A continuación, debería ver el nuevo proyecto en el Explorador de soluciones:

ingrese la descripción de la imagen aquí

Presione la tecla F5 para ejecutar la aplicación y comience una sesión de depuración, que iniciará la aplicación dentro de su navegador predeterminado:

ingrese la descripción de la imagen aquí

Ahora puede ver que su proyecto está funcionando localmente y está listo como punto de partida para que pueda crear su aplicación.

API web mínima de ASP.NET Core con ASP.NET Core MVC

Con ASP.NET Core 1.0, el marco MVC y Web API se han fusionado en un marco llamado ASP.NET Core MVC. Esto es algo bueno, ya que MVC y Web API comparten muchas funciones, pero siempre hubo diferencias sutiles y duplicación de código.

Sin embargo, fusionar estos dos en el marco uno también hizo que fuera más difícil distinguir uno de otro. Por ejemplo, Microsoft.AspNet.WebApi representa el marco de Web API 5.x.x, no el nuevo. Pero, cuando incluye Microsoft.AspNetCore.Mvc (versión 1.0.0), obtiene el paquete completo. Esto contendrá todas las funciones listas para usar que ofrece el marco MVC. Como Razor, asistentes de etiquetas y vinculación de modelos.

Cuando solo desea crear una API web, no necesitamos todas estas características. Entonces, ¿cómo construimos una API web minimalista? La respuesta es: Microsoft.AspNetCore.Mvc.Core. En el nuevo mundo, MVC se divide en varios paquetes y este paquete contiene solo los componentes principales del marco de trabajo de MVC, como el enrutamiento y la autorización.

Para este ejemplo, vamos a crear una API de MVC mínima. Incluyendo un formateador JSON y CORS. Cree una aplicación web ASP.NET Core 1.0 vacía y agregue estos paquetes a su proyecto.json:

"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"

Ahora podemos registrar MVC usando AddMvcCore() en la clase de inicio:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore()
            .AddCors()
            .AddJsonFormatters();
}

AddMvcCore devuelve una instancia de IMvcCoreBuilder que permite seguir construyendo. La configuración del middleware es la misma que de costumbre:

public void Configure(IApplicationBuilder app)
{
    app.UseCors(policy =>
    {
        policy.AllowAnyOrigin();
    });
    app.UseMvc();
}

Controladores

La API web ‘antigua’ viene con su propia clase base de controlador: ApiController. En el nuevo mundo no existe tal cosa, solo la clase Controller por defecto. Desafortunadamente, esta es una clase base bastante grande y está vinculada al enlace de modelos, vistas y JSON.NET.

Afortunadamente, en el nuevo marco de trabajo, las clases de controlador no tienen que derivar de Controller para que el mecanismo de enrutamiento las recoja. Simplemente agregar el nombre con Controller es suficiente. Esto nos permite construir nuestra propia clase base de controlador. Llamémoslo ApiController, solo por los viejos tiempos:

/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
    [ActionContext]
    public ActionContext ActionContext { get; set; }

    public HttpContext HttpContext => ActionContext?.HttpContext;

    public HttpRequest Request => ActionContext?.HttpContext?.Request;

    public HttpResponse Response => ActionContext?.HttpContext?.Response;

    public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}

El atributo [Controlador] indica que el tipo o cualquier tipo derivado se considera un controlador por el mecanismo de detección de controlador predeterminado. El atributo [ActionContext] especifica que la propiedad debe establecerse con el ActionContext actual cuando MVC crea el controlador. El ActionContext proporciona información sobre la solicitud actual.

ASP.NET Core MVC también ofrece una clase ControllerBase que proporciona una clase base de controlador simplemente sin soporte de vistas. Sin embargo, todavía es mucho más grande que el nuestro. Úselo si lo encuentra conveniente.

Conclusión

Ahora podemos crear una API web mínima con el nuevo marco ASP.NET Core MVC. La estructura del paquete modular nos permite simplemente extraer los paquetes que necesitamos y crear una aplicación simple y eficiente.

Crear un nuevo proyecto desde la línea de comandos

Es posible crear un nuevo proyecto ASP.NET Core completamente desde la línea de comandos usando el comando dotnet.

dotnet new web
dotnet restore
dotnet run

dotnet new web construye un nuevo proyecto web “vacío”. El parámetro web le dice a la herramienta dotnet que use la plantilla ASP.NET Core Empty. Use dotnet new -all para mostrar todas las plantillas disponibles actualmente instaladas. Otras plantillas clave incluyen console, classlib, mvc y xunit.

Una vez que la plantilla se haya extraído, puede restaurar los paquetes necesarios para ejecutar el proyecto (dotnet restore) y compilarlo e iniciarlo (dotnet run).

Una vez que el proyecto se esté ejecutando, estará disponible en el puerto predeterminado: http://localhost:5000

Uso del código de Visual Studio para desarrollar una aplicación central aspnet de plataforma cruzada

Con AspNetCore puede desarrollar la aplicación en cualquier plataforma, incluidas Mac, Linux, Windows y Docker.

Instalación y configuración

  1. Instale Visual Studio Code desde aquí
  2. Agregar extensión C#
  3. Instale dot net core sdk. Puede instalar desde aquí

Ahora tienes todas las herramientas disponibles. Para desarrollar la aplicación. Ahora necesitas alguna opción de andamiaje. Para eso deberías considerar usar Yeoman. Para instalar Yeoman

  1. Instale NPM. Para esto necesita Node en su máquina. Instalar desde aquí

  2. Instale Yeoman usando NPM

    npm install -g yo

  3. Ahora instale el generador aspnet

    npm install -g generator-aspnet

Ahora tenemos toda la configuración en su máquina. Primero, creemos un nuevo proyecto con el comando básico DotNetCore y luego creemos un nuevo proyecto usando Yo.

Nuevo proyecto usando la línea de comandos

  1. Crear una nueva carpeta de proyecto

    mkdir CoreApplication cd CoreApplication

  2. Scaffold un proyecto dotnet muy básico usando la opción de línea de comando predeterminada

    dotnet New

Nuevo Proyecto

  1. Restaurar los paquetes y ejecutar la aplicación

    dotNet restore dotnet run ingrese la descripción de la imagen aquí

Utilice Yeoman como opción de andamio

Crear carpeta de proyecto y ejecutar el comando Yo

yo aspnet

Yeoman le pedirá algunas entradas como Tipo de proyecto, Nombre del proyecto, etc.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Ahora restaure los paquetes ejecutando el comando dotnet restore y ejecute la aplicación

Utilice VS Code para desarrollar la aplicación

Ejecute el código de Visual Studio como ingrese la descripción de la imagen aquí

Ahora abra los archivos y ejecute la aplicación. También puede buscar la extensión para su ayuda.

Configuración de la variable de entorno en ASP.NET Core [Windows]

=> Publicación original <=

ASP.NET Core usa la variable de entorno ASPNETCORE_ENVIRONMENT para determinar el entorno actual. De forma predeterminada, si ejecuta su aplicación sin configurar este valor, se establecerá automáticamente en el entorno de Producción.

> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.

Hosting environment: Production  
Content root path: C:\Projects\TestApp  
Now listening on: http://localhost:5000  
Application started. Press Ctrl+C to shut down. 

Configuración de la variable de entorno en Windows

En la línea de comando

Puede configurar fácilmente una variable de entorno desde un símbolo del sistema utilizando el comando setx.exe incluido en Windows. Puede usarlo para configurar fácilmente una variable de usuario:

>setx ASPNETCORE_ENVIRONMENT "Development"

SUCCESS: Specified value was saved.

Tenga en cuenta que la variable de entorno no está configurada en la ventana abierta actual. Deberá abrir un nuevo símbolo del sistema para ver el entorno actualizado. También es posible establecer variables del sistema (en lugar de solo variables de usuario) si abre un símbolo del sistema administrativo y agrega el modificador /M:

>setx ASPNETCORE_ENVIRONMENT "Development" /M

SUCCESS: Specified value was saved.

Usando PowerShell Como alternativa, puede usar PowerShell para configurar la variable. En PowerShell, además de las variables normales de usuario y del sistema, también puede crear una variable temporal usando el comando $Env::

$Env:ASPNETCORE_ENVIRONMENT = "Development"

La variable creada dura solo la duración de su sesión de PowerShell: una vez que cierra la ventana, el entorno vuelve a su valor predeterminado.

Alternativamente, puede configurar las variables de entorno del usuario o del sistema directamente. Este método no cambia las variables de entorno en la sesión actual, por lo que deberá abrir una nueva ventana de PowerShell para ver los cambios. Como antes, cambiar las variables del sistema (Máquina) requerirá acceso administrativo

[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")

Usando el panel de control de Windows Si no es fanático de la línea de comandos, ¡puede actualizar fácilmente sus variables con el mouse! Haga clic en el botón del menú de inicio de Windows (o presione la tecla de Windows), busque variables de entorno y elija Editar variables de entorno para su cuenta: ingrese la descripción de la imagen aquí

Al seleccionar esta opción, se abrirá el cuadro de diálogo Propiedades del sistema. ingrese la descripción de la imagen aquí

Haga clic en Variables de entorno para ver la lista de variables de entorno actuales en su sistema. ingrese la descripción de la imagen aquí

Suponiendo que aún no tiene una variable llamada ASPNETCORE_ENVIRONMENT, haga clic en el botón Nuevo… y agregue una nueva variable de entorno de cuenta: ingrese la descripción de la imagen aquí Haga clic en Aceptar para guardar todos sus cambios. Deberá volver a abrir cualquier ventana de comando para asegurarse de que se carguen las nuevas variables de entorno.