Panoramica di ASP.NET Core
Di Daniel Roth, Rick Anderson, e Shaun Luttin
Nota
Questa non è la versione più recente di questo articolo. Per la versione corrente, vedere la versione .NET 9 di questo articolo.
Avviso
Questa versione di ASP.NET Core non è più supportata. Per altre informazioni, vedere i criteri di supporto di .NET e .NET Core. Per la versione corrente, vedere la versione .NET 9 di questo articolo.
Importante
Queste informazioni si riferiscono a un prodotto non definitive che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Per la versione corrente, vedere la versione .NET 9 di questo articolo.
ASP.NET Core è un framework open source multipiattaforma e ad alte prestazioni per la creazione di app moderne abilitate per il cloud e connesse a Internet.
Con ASP.NET Core, è possibile:
- Creare app Web e servizi, app azure IoT (Internet delle cose) e back-end per dispositivi mobili.
- Usare gli strumenti di sviluppo preferiti in Windows, macOS e Linux.
- Distribuire nel cloud o in locale.
- Esegui con .NET.
Perché scegliere ASP.NET Core?
Milioni di sviluppatori usano o hanno usato ASP.NET 4.x per creare app Web. ASP.NET Core è una riprogettazione di ASP.NET 4.x, incluse le modifiche dell'architettura che comportano un framework più snello e più modulare.
ASP.NET Core offre i vantaggi seguenti:
- Una storia unificata per la compilazione dell'interfaccia utente web e delle API web.
- Progettazione finalizzata alla testabilità.
- Razor Le pagine rendono gli scenari incentrati sulle pagine di codifica più facili e più produttivi.
- Blazor consente di usare C# nel browser insieme a JavaScript. Condividere la logica dell'app, interamente scritta con .NET, sul lato client e sul lato server.
- Possibilità di sviluppo ed esecuzione in Windows, macOS e Linux.
- Open source e incentrato sulla community.
- Integrazione di framework lato client moderni e flussi di lavoro nello sviluppo.
- Supporto per l'hosting di servizi RPC (Remote Procedure Call) tramite gRPC.
- Un sistema di configurazione basato sull'ambiente, pronto per il cloud.
- Iniezione delle dipendenze integrata.
- Una pipeline di richiesta HTTP leggera, a prestazioni elevate e modulare.
- Possibilità di ospitare su quanto segue:
- Versionamento affiancato.
- Gli strumenti che semplificano lo sviluppo del web moderno.
Compilare API web e interfaccia utente web tramite ASP.NET Core MVC
ASP.NET Core MVC offre funzionalità per la compilazione di API Web e app Web:
- Il pattern Model-View-Controller (MVC) aiuta a rendere le tue API web e le app web testabili.
- Razor Pages è un modello di programmazione basato su pagine che rende la creazione dell'interfaccia utente Web più semplice e più produttiva.
- Razormarkup fornisce una sintassi produttiva per Razorpagine e visualizzazioni MVC.
- Gli helper tag consentono al codice lato server di partecipare alla creazione e al rendering di elementi HTML nei file Razor.
- Il supporto incorporato per più formati di dati e per la negoziazione del contenuto consente alle API web di raggiungere una vasta gamma di client, inclusi i browser e i dispositivi mobili.
- L'associazione di modelli esegue automaticamente il mapping dei dati dalle richieste HTTP ai parametri del metodo di azione.
- La convalida dei modelli esegue automaticamente la convalida sul lato server e sul lato client.
Sviluppo lato client
ASP.NET Core include Blazor per la creazione di un'interfaccia utente Web riccamente interattiva e si integra anche con altri framework JavaScript front-end più diffusi, ad esempio Angular, React, Vue e Bootstrap. Per altre informazioni, vedere ASP.NET Core Blazor e argomenti correlati in Sviluppo lato client.
framework di destinazione ASP.NET Core
ASP.NET Core 3.x o versione successiva può essere destinato solo a .NET.
Esistono diversi vantaggi per usare .NET e questi vantaggi aumentano con ogni versione. Alcuni vantaggi di .NET rispetto a .NET Framework includono:
- Funzionamento multipiattaforma. Viene eseguito in Windows, macOS e Linux.
- Prestazioni migliorate
- Versioni affiancate
- Nuove API
- Open source
Percorso di apprendimento consigliato
Per un'introduzione allo sviluppo di app ASP.NET Core, è consigliabile seguire questa sequenza di esercitazioni:
Segui un tutorial per il tipo di app che desideri sviluppare o mantenere.
Tipo di app Scenario Esercitazione Web app Nuovo sviluppo dell'interfaccia utente Web sul lato server Introduzione alle Razor Pagine Web App Gestione di un'app MVC Introduzione a MVC Applicazione web Sviluppo dell'interfaccia utente Web sul lato client Inizia con Blazor API Web Servizi HTTP RESTful Creare un'API Web† App per chiamate di procedura remota Servizi con contratto anzitutto usando Protocol Buffers Introduzione a un servizio gRPC App in tempo reale Comunicazione bidirezionale tra server e client connessi Inizia con SignalR Seguire un'esercitazione che illustra come eseguire l'accesso ai dati di base.
Scenario Esercitazione Nuovo sviluppo Razor Pagine con Entity Framework Core Gestione di un'app MVC MVC con Entity Framework Core Leggere una panoramica dei concetti fondamentali di ASP.NET Core che si applicano a tutti i tipi di app.
Esplorare il sommario per altri argomenti di interesse.
C'è anche un tutorial interattivo per le API web. Non è necessaria alcuna installazione locale degli strumenti di sviluppo. Il codice viene eseguito in Azure Cloud Shell nel browser e curl viene usato per i test.
Eseguire la migrazione da .NET Framework
Per una guida di riferimento alla migrazione di app ASP.NET 4.x a ASP.NET Core, vedere Aggiornare da ASP.NET a ASP.NET Core.
ASP.NET Core è un framework open source multipiattaforma e ad alte prestazioni per la creazione di app moderne abilitate per il cloud e connesse a Internet. Con ASP.NET Core, è possibile:
- Creare app Web e servizi, app azure IoT (Internet delle cose) e back-end per dispositivi mobili.
- Usare gli strumenti di sviluppo preferiti in Windows, macOS e Linux.
- Distribuire nel cloud o in locale.
- Eseguire in .NET Core o .NET Framework.
Perché scegliere ASP.NET Core?
Milioni di sviluppatori usano o hanno usato ASP.NET 4.x per creare app Web. ASP.NET Core è una riprogettazione di ASP.NET 4.x, con modifiche a livello di architettura che comportano un framework più efficiente e modulare.
ASP.NET Core offre i vantaggi seguenti:
- Una storia unificata per la compilazione dell'interfaccia utente web e delle API web.
- Progettazione finalizzata alla testabilità.
- Razor Le pagine rendono gli scenari incentrati sulle pagine di codifica più facili e più produttivi.
- Blazor consente di usare C# nel browser insieme a JavaScript. Condividere la logica dell'app, interamente scritta con .NET, sul lato client e sul lato server.
- Possibilità di sviluppo ed esecuzione in Windows, macOS e Linux.
- Open source e incentrato sulla community.
- Integrazione di framework moderni lato client e flussi di lavoro di sviluppo.
- Supporto per l'hosting di servizi RPC (Remote Procedure Call) tramite gRPC.
- Un sistema di configurazione basato sull'ambiente, pronto per il cloud.
- Iniezione delle dipendenze integrata.
- Una pipeline di richiesta HTTP leggera, a prestazioni elevate e modulare.
- Possibilità di ospitare gli elementi seguenti:
- Versionamento parallelo.
- Gli strumenti che semplificano lo sviluppo del web moderno.
Compilare API web e interfaccia utente web tramite ASP.NET Core MVC
ASP.NET Core MVC offre funzionalità per la compilazione di API Web e app Web:
- Il Model-View-Controller (MVC) consente di rendere le API web e le app web testabili.
- Razor Pages è un modello di programmazione basato su pagine che rende la creazione dell'interfaccia utente Web più semplice e più produttiva.
- Razormarkup fornisce una sintassi produttiva per RazorPagine e visualizzazioni MVC.
- Gli helper tag consentono al codice lato server di partecipare alla creazione e al rendering di elementi HTML nei file Razor.
- Il supporto incorporato per più formati di dati e per la negoziazione del contenuto consente alle API web di raggiungere una vasta gamma di client, inclusi i browser e i dispositivi mobili.
- L'associazione di modelli esegue automaticamente il mapping dei dati dalle richieste HTTP ai parametri del metodo di azione.
- La convalida dei modelli esegue automaticamente la convalida sul lato server e sul lato client.
Sviluppo lato utente
ASP.NET Core si integra perfettamente con i framework e le librerie lato client più diffusi, tra cui , Angular, React, Vue e Blazor. Per altre informazioni, vedere ASP.NET Core Blazor e argomenti correlati in Sviluppo lato client.
ASP.NET Core mirato su .NET Framework
ASP.NET Core 2.x può avere come destinazione .NET Core o .NET Framework. ASP.NET app Core destinate a .NET Framework non sono multipiattaforma, ma vengono eseguite solo in Windows. ASP.NET Core 2.x è costituito a livello generale da librerie .NET Standard. Le librerie scritte con .NET Standard 2.0 supportano l'esecuzione su qualsiasi piattaforma .NET che implementa .NET Standard 2.0.
ASP.NET Core 2.x è supportato nelle versioni di .NET Framework che implementano .NET Standard 2.0:
- È consigliabile usare la versione più recente di .NET Framework.
- .NET Framework 4.6.1 o versioni successive.
ASP.NET Core 3.0 o versioni successive vengono eseguiti solo in .NET Core. Per altri dettagli riguardanti questa modifica, vedere A first look at changes coming in ASP.NET Core 3.0 (Una prima occhiata alle modifiche previste per ASP.NET Core 3.0).
Usare .NET Core come destinazione offre diversi vantaggi, che aumentano con ogni versione. Alcuni vantaggi di .NET Core in .NET Framework sono:
- Funzionamento multipiattaforma. Esecuzione con macOS, Linux e Windows.
- Prestazioni migliorate
- Versionamento affiancato
- Nuove API
- Open source
Per ridurre il divario tra le API da .NET Framework a .NET Core, Windows Compatibility Pack ha reso disponibili migliaia di API solo Windows in .NET Core. Queste API non erano disponibili in .NET Core 1. x.
Percorso di apprendimento consigliato
Per un'introduzione allo sviluppo delle app ASP.NET Core, è consigliabile eseguire la sequenza di esercitazioni e articoli seguente:
Segui un tutorial per il tipo di app che vuoi sviluppare o gestire.
Tipo di app Scenario Esercitazione Web app Per un nuovo sviluppo Inizia con Razor Pagine Web app Per gestire un'app MVC Introduzione a MVC API Web Creare un'API Web† App in tempo reale Inizia con SignalR Seguire un'esercitazione che illustra come eseguire l'accesso ai dati di base.
Scenario Esercitazione Per un nuovo sviluppo Razor Pagine con Entity Framework Core Per gestire un'app MVC MVC con Entity Framework Core Leggere una panoramica dei concetti fondamentali di ASP.NET Core che si applicano a tutti i tipi di app.
Esplorare il Sommario per cercare altri argomenti di interesse.
C'è anche un'esercitazione sull'API Web che si può seguire interamente nel browser, senza necessità di installare un IDE locale. Il codice viene eseguito in un'Azure Cloud Shell e per il testing viene usato curl.
Eseguire la migrazione da .NET Framework
Per una guida di riferimento alla migrazione di app ASP.NET a ASP.NET Core, vedere Aggiornare da ASP.NET a ASP.NET Core.
Come scaricare un esempio
Molti articoli ed esercitazioni includono collegamenti al codice di esempio.
- Scaricare il file ZIP del repository ASP.NET.
- Decomprimere il file
AspNetCore.Docs-main.zip
. - Per accedere a un'app di esempio di un articolo nel repository decompresso, utilizzare l'URL fornito nel link di esempio dell'articolo per navigare alla cartella dell'esempio. In genere, il collegamento di esempio di un articolo viene visualizzato nella parte superiore dell'articolo con il testo del collegamento Visualizza o scarica il codice di esempio.
Direttive per il preprocessore nel codice di esempio
Per illustrare più scenari, le app di esempio usano le #define
direttive del preprocessore e #if-#else/#elif-#endif
per compilare ed eseguire in modo selettivo sezioni diverse del codice di esempio. Per gli esempi che usano questo approccio, impostare la #define
direttiva all'inizio dei file C# per definire il simbolo associato allo scenario da eseguire. Alcuni esempi richiedono la definizione del simbolo nella parte superiore di più file per eseguire uno scenario.
Ad esempio, l'elenco di simboli #define
seguente indica che sono disponibili quattro scenari, ovvero uno scenario per simbolo. La configurazione di esempio corrente esegue lo scenario TemplateCode
:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
Per modificare l'esempio in modo che venga eseguito lo scenario ExpandDefault
, definire il simbolo ExpandDefault
e lasciare i simboli rimanenti con commento:
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
Per altre informazioni sull'uso delle direttive del preprocessore C# per compilare in modo selettivo le sezioni di codice, vedere #define (Riferimenti per C#) e #if (Riferimenti per C#).
Modifiche radicali e avvisi di sicurezza
Le modifiche di rilievo e gli avvisi di sicurezza vengono segnalati nel repository Annunci. Gli annunci possono essere limitati a una versione specifica selezionando un filtro Etichetta .
Passaggi successivi
Per ulteriori informazioni, vedi le seguenti risorse:
- Introduzione a ASP.NET Core
- Pubblicare un'app ASP.NET Core in Azure con Visual Studio
- Nozioni fondamentali su ASP.NET Core
- La trasmissione settimanale della community di ASP.NET offre una presentazione dei progressi e dei piani del team. Vengono segnalati nuovi blog e software di terze parti.