asp.net-coreIniziare con asp.net-core


Osservazioni

.NET Core è una piattaforma di sviluppo generica gestita da Microsoft e dalla comunità .NET su GitHub. È multipiattaforma, supporta Windows, macOS e Linux e può essere utilizzata in scenari dispositivo, cloud e embedded / IoT.

Le seguenti caratteristiche definiscono meglio .NET Core:

  • Implementazione flessibile: può essere inclusa nella tua app o installata side-by-side per utente o macchina.
  • Multipiattaforma: funziona su Windows, macOS e Linux; può essere portato su altri sistemi operativi. I sistemi operativi (OS) supportati, le CPU e gli scenari applicativi cresceranno nel tempo, forniti da Microsoft, altre società e singoli individui.
  • Strumenti da riga di comando: tutti gli scenari di prodotto possono essere esercitati sulla riga di comando.
  • Compatibile: .NET Core è compatibile con .NET Framework, Xamarin e Mono, tramite la libreria standard .NET.
  • Open source: la piattaforma .NET Core è open source, utilizzando le licenze MIT e Apache 2. La documentazione è concessa in licenza CC-BY. .NET Core è un progetto .NET Foundation.
  • Supportato da Microsoft: .NET Core è supportato da Microsoft, per .NET Core Support

Versioni

Versione Note di rilascio Data di rilascio
RC1 * 1.0.0-rc1 2015/11/18
RC2 * 1.0.0-RC2 2016/05/16
1.0.0 1.0.0 2016/06/27
1.0.1 1.0.1 2016/09/13
1.1 1.1 2016/11/16

Crea un nuovo progetto dalla riga di comando

È possibile creare un nuovo progetto ASP.NET Core interamente dalla riga di comando utilizzando il comando dotnet .

dotnet new web
dotnet restore
dotnet run
 

dotnet new web scaffolds un nuovo progetto web "vuoto". Il parametro web indica allo strumento dotnet di utilizzare il modello ASP.NET Core Empty . Usa dotnet new -all per mostrare tutti i modelli disponibili correntemente installati. Altri modelli chiave includono console , classlib , mvc e xunit .

Una volta che il modello è stato impalcato, è possibile ripristinare i pacchetti richiesti per eseguire il progetto ( dotnet restore ), compilare e avviarlo ( dotnet run ).

Una volta che il progetto è in esecuzione, sarà disponibile sulla porta predefinita: http: // localhost: 5000

Installazione e configurazione

Installazione di Visual Studio

Se non hai installato Visual Studio, puoi scaricare qui la versione gratuita di Visual Studio Community . Se l'hai già installato, puoi procedere al passaggio successivo.

Creazione di un'applicazione ASP.NET Core MVC.

  1. Apri Visual Studio.
  2. Seleziona File> Nuovo progetto.
  3. Seleziona Web nella lingua desiderata nella sezione Modelli a sinistra.
  4. Scegli un tipo di progetto preferito all'interno della finestra di dialogo.
  5. Opzionale: scegli un .NET Framework che desideri utilizzare come target
  6. Assegna un nome al tuo progetto e indica se vuoi creare una soluzione per il progetto.
  7. Fare clic su OK per creare il progetto.

inserisci la descrizione dell'immagine qui

Ti verrà presentata un'altra finestra di dialogo per selezionare il modello che desideri utilizzare per il progetto:

inserisci la descrizione dell'immagine qui

Ciascuna descrizione è autoesplicativa. Per questo primo progetto, selezionare Applicazione Web , che conterrà tutte le configurazioni predefinite, l'autenticazione e alcuni contenuti esistenti.

Poiché questa è un'applicazione di introduzione e non richiede alcuna protezione o autenticazione, è possibile modificare l'opzione di autenticazione su Nessuna autenticazione sul lato destro della finestra di dialogo e fare clic su OK per creare il progetto .

Dovresti quindi vedere il nuovo progetto all'interno di Solution Explorer:

inserisci la descrizione dell'immagine qui

Premere il tasto F5 per eseguire l'applicazione e iniziare una sessione di debug, che avvierà l'applicazione all'interno del browser predefinito:

inserisci la descrizione dell'immagine qui

Ora puoi vedere che il tuo progetto è attivo e funzionante a livello locale ed è pronto come punto di partenza per costruire la tua applicazione.

API Web ASP.NET di base minima con ASP.NET Core MVC

Con ASP.NET Core 1.0, il framework MVC e Web API sono stati uniti in un framework chiamato ASP.NET Core MVC. Questa è una buona cosa, dal momento che MVC e Web API condividono molte funzionalità, tuttavia ci sono sempre state sottili differenze e duplicazione del codice.

Tuttavia, unire questi due nel framework uno ha reso più difficile distinguere gli uni dagli altri. Ad esempio, Microsoft.AspNet.WebApi rappresenta il framework API Web 5.xx, non il nuovo. Ma quando si include Microsoft.AspNetCore.Mvc (versione 1.0.0 ), si ottiene il pacchetto completo. Questo conterrà tutte le funzionalità predefinite offerte dal framework MVC. Come Razor, tag helper e binding di modelli.

Quando vuoi solo creare un'API Web, non abbiamo bisogno di tutte queste funzionalità. Quindi, come possiamo costruire un'API Web minimalista? La risposta è: Microsoft.AspNetCore.Mvc.Core . Nel nuovo mondo MVC è suddiviso in più pacchetti e questo pacchetto contiene solo i componenti principali del framework MVC, come routing e autorizzazione.

Per questo esempio, creeremo un'API MVC minima. Compreso un formattatore JSON e CORS. Creare un'applicazione Web ASP.NET Core 1.0 vuota e aggiungere questi pacchetti al progetto.json:

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

Ora possiamo registrare MVC usando AddMvcCore() nella classe di avvio:

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

AddMvcCore restituisce un'istanza IMvcCoreBuilder che consente ulteriori IMvcCoreBuilder . La configurazione del middleware è la stessa del solito:

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

Controller

La "vecchia" API Web viene fornita con la propria classe di base del controller: ApiController . Nel nuovo mondo non esiste una cosa del genere, solo la classe Controller predefinita. Sfortunatamente, questa è una classe base piuttosto grande ed è legata al binding del modello, alle viste e a JSON.NET.

Fortunatamente, nelle nuove classi di controller del framework non è necessario derivare dal Controller per essere rilevato dal meccanismo di routing. Basta accodare il nome con Controller è sufficiente. Questo ci consente di costruire la nostra classe base controller. Chiamiamolo ApiController , solo per amore dei vecchi tempi:

/// <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;
}
 

L'attributo [Controller] indica che il tipo o qualsiasi tipo derivato è considerato come un controller dal meccanismo di rilevamento del controller predefinito. L'attributo [ActionContext] specifica che la proprietà deve essere impostata con ActionContext corrente quando MVC crea il controller. ActionContext fornisce informazioni sulla richiesta corrente.

ASP.NET Core MVC offre anche una classe ControllerBase che fornisce una classe di base del controller senza supporto per le viste. È comunque molto più grande del nostro. Usalo se lo trovi conveniente.

Conclusione

Ora è possibile creare un'API Web minima utilizzando il nuovo framework MV.NET di ASP.NET. La struttura modulare del pacchetto ci consente di inserire solo i pacchetti di cui abbiamo bisogno e creare un'applicazione snella e semplice.

Imposta la variabile di ambiente in ASP.NET Core [Windows]

=> Original Post <=

ASP.NET Core utilizza la variabile di ambiente ASPNETCORE_ENVIRONMENT per determinare l'ambiente corrente. Per impostazione predefinita, se si esegue l'applicazione senza impostare questo valore, verrà automaticamente impostato automaticamente sull'ambiente di Production .

> 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. 
 

Impostazione della variabile di ambiente in Windows

Alla riga di comando

È possibile impostare facilmente una variabile di ambiente da un prompt dei comandi utilizzando il comando setx.exe incluso in Windows. Puoi usarlo per impostare facilmente una variabile utente:

>setx ASPNETCORE_ENVIRONMENT "Development"

SUCCESS: Specified value was saved.
 

Si noti che la variabile di ambiente non è impostata nella finestra aperta corrente. Sarà necessario aprire un nuovo prompt dei comandi per visualizzare l'ambiente aggiornato. È anche possibile impostare le variabili di sistema (anziché solo le variabili utente) se si apre un prompt dei comandi amministrativo e si aggiunge l'opzione / M:

>setx ASPNETCORE_ENVIRONMENT "Development" /M

SUCCESS: Specified value was saved.
 

Uso di PowerShell In alternativa, è possibile utilizzare PowerShell per impostare la variabile. In PowerShell, oltre alle normali variabili utente e di sistema, è anche possibile creare una variabile temporanea utilizzando il comando $Env: ::

$Env:ASPNETCORE_ENVIRONMENT = "Development"
 

La variabile creata dura solo per la durata della sessione di PowerShell: una volta chiusa la finestra, l'ambiente ritorna al valore predefinito.

In alternativa, è possibile impostare direttamente le variabili di ambiente utente o di sistema. Questo metodo non modifica le variabili di ambiente nella sessione corrente, quindi sarà necessario aprire una nuova finestra di PowerShell per visualizzare le modifiche. Come prima, la modifica delle variabili di sistema (macchina) richiederà l'accesso amministrativo

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

Utilizzo del pannello di controllo di Windows Se non sei un fan del prompt dei comandi, puoi facilmente aggiornare le variabili usando il tuo mouse! Fai clic sul pulsante del menu Start di Windows (o premi il tasto Windows), cerca environment variables e scegli Modifica ambiente variabili per il tuo account: inserisci la descrizione dell'immagine qui

Selezionando questa opzione si aprirà la finestra di dialogo Proprietà del sistema inserisci la descrizione dell'immagine qui

Fare clic su Variabili d'ambiente per visualizzare l'elenco delle variabili d'ambiente correnti sul proprio sistema. inserisci la descrizione dell'immagine qui

Supponendo che tu non abbia già una variabile chiamata ASPNETCORE_ENVIRONMENT , fai clic sul pulsante Nuovo ... e aggiungi una nuova variabile di ambiente per l'account: inserisci la descrizione dell'immagine qui Fare clic su OK per salvare tutte le modifiche. Sarà necessario riaprire qualsiasi finestra di comando per assicurarsi che vengano caricate le nuove variabili di ambiente.

Utilizzo del codice di Visual Studio per lo sviluppo dell'applicazione core crossplate aspnet core

Con AspNetCore puoi sviluppare l'applicazione su qualsiasi piattaforma tra cui Mac, Linux, Window e Docker.

Installazione e configurazione

  1. Installa Visual Studio Code da qui
  2. Aggiungi estensione C #
  3. Installa dot net core sdk. Puoi installare da qui

Ora hai tutti gli strumenti disponibili. Per sviluppare l'applicazione. Ora hai bisogno di un'opzione di ponteggio. Per questo dovresti considerare l'utilizzo di Yeoman. Per installare Yeoman

  1. Installa NPM. Per questo è necessario Nodo sulla macchina. Installa da qui

  2. Installa Yeoman usando NPM

    npm install -g yo

  3. Ora installa il generatore di aspnet

    npm install -g generator-aspnet

Ora abbiamo tutto il setup sulla tua macchina. Per prima cosa creiamo un nuovo progetto con il comando di base DotNetCore e poi creiamo un nuovo progetto usando Yo.

Nuovo progetto utilizzando la riga di comando

  1. Crea una nuova cartella di progetto

    mkdir CoreApplication cd CoreApplication

  2. Scaffold un progetto dotnet molto semplice utilizzando l'opzione della riga di comando predefinita

    dotnet Nuovo

Nuovo progetto

  1. Ripristina i pacchetti ed esegui l'applicazione

    dotNet ripristino dotnet run inserisci la descrizione dell'immagine qui

Usa Yeoman come Opzione Scaffolding

Crea la cartella del progetto ed esegui il comando Yo

yo aspnet
 

Yeoman chiederà alcuni input come Tipo di Progetto, Nome del Progetto ecc

inserisci la descrizione dell'immagine qui

inserisci la descrizione dell'immagine qui

Ora ripristinare i pacchetti eseguendo il comando dotnet restore ed esegui l'applicazione

Utilizzare VS Code per sviluppare l'applicazione

Esegui il codice dello studio visivo come inserisci la descrizione dell'immagine qui

Ora apri i file ed esegui l'applicazione. Puoi anche cercare l'estensione per il tuo aiuto.