asp.net-core Tutorial
Iniziare con asp.net-core
Ricerca…
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 |
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.
- Apri Visual Studio.
- Seleziona File> Nuovo progetto.
- Seleziona Web nella lingua desiderata nella sezione Modelli a sinistra.
- Scegli un tipo di progetto preferito all'interno della finestra di dialogo.
- Opzionale: scegli un .NET Framework che desideri utilizzare come target
- Assegna un nome al tuo progetto e indica se vuoi creare una soluzione per il progetto.
- Fare clic su OK per creare il progetto.
Ti verrà presentata un'altra finestra di dialogo per selezionare il modello che desideri utilizzare per il progetto:
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:
Premere il tasto F5 per eseguire l'applicazione e iniziare una sessione di debug, che avvierà l'applicazione all'interno del browser predefinito:
Ora puoi vedere che il tuo progetto è attivo e funzionante a livello locale ed è pronto come punto di partenza per costruire la tua applicazione.
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
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.
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
- Installa Visual Studio Code da qui
- Aggiungi estensione C #
- 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
Installa NPM. Per questo è necessario Nodo sulla macchina. Installa da qui
Installa Yeoman usando NPM
npm install -g yo
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
Crea una nuova cartella di progetto
mkdir CoreApplication cd CoreApplication
Scaffold un progetto dotnet molto semplice utilizzando l'opzione della riga di comando predefinita
dotnet Nuovo
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
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
Ora apri i file ed esegui l'applicazione. Puoi anche cercare l'estensione per il tuo aiuto.
Imposta la variabile di ambiente in ASP.NET Core [Windows]
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:
Selezionando questa opzione si aprirà la finestra di dialogo Proprietà del sistema
Fare clic su Variabili d'ambiente per visualizzare l'elenco delle variabili d'ambiente correnti sul proprio sistema.
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: 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.