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 8 di questo articolo.
Avviso
Questa versione di ASP.NET Core non è più supportata. Per altre informazioni, vedere Criteri di supporto di .NET e .NET Core. Per la versione corrente, vedere la versione .NET 8 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 8 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 IoT (Internet of Things) 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.
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 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.
- Inserimento delle dipendenze incorporato.
- Una pipeline di richiesta HTTP leggera, a prestazioni elevate e modulare.
- Possibilità di ospitare gli elementi seguenti:
- Controllo delle versioni side-by-side.
- 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 Razor le visualizzazioni Pages e 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
- Controllo delle versioni affiancato
- Nuove API
- Open source
Percorso di apprendimento consigliato
Per un'introduzione allo sviluppo di app ASP.NET Core, è consigliabile seguire questa sequenza di esercitazioni:
Seguire un'esercitazione per il tipo di app che si vuole sviluppare o gestire.
Tipo di app Scenario Esercitazione Applicazione Web Nuovo sviluppo dell'interfaccia utente Web sul lato server Introduzione alle Razor pagine Applicazione Web Gestione di un'app MVC Introduzione a MVC Applicazione Web Sviluppo dell'interfaccia utente Web sul lato client Introduzione Blazor Web API Servizi HTTP RESTful Creare un'API Web† App Remote Procedure Call Servizi con contratto-first con buffer di protocollo Introduzione a un servizio gRPC App in tempo reale Comunicazione bidirezionale tra server e client connessi Introduzione 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.
†Altre api Web interattive. 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 IoT (Internet of Things) 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 lato client moderni 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.
- Inserimento delle dipendenze incorporato.
- Una pipeline di richiesta HTTP leggera, a prestazioni elevate e modulare.
- Possibilità di ospitare gli elementi seguenti:
- Controllo delle versioni side-by-side.
- 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 Razor le visualizzazioni Pages e 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 si integra perfettamente con i framework e le librerie lato client più diffusi, tra cui , Angular, React, Vue e Bootstrap. Blazor Per altre informazioni, vedere ASP.NET Core Blazor e argomenti correlati in Sviluppo lato client.
ASP.NET Core per .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
- Controllo delle versioni 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:
Seguire un'esercitazione per il tipo di app che si vuole sviluppare o gestire.
Tipo di app Scenario Esercitazione Applicazione Web Per un nuovo sviluppo Introduzione alle Razor pagine Applicazione Web Per gestire un'app MVC Introduzione a MVC Web API Creare un'API Web† App in tempo reale Introduzione 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.
† Anche un'esercitazione sull'API Web seguita interamente nel browser, non è necessaria alcuna installazione dell'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 all'app di esempio di un articolo nel repository decompresso, usare l'URL nel collegamento di esempio dell'articolo per passare 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 di rilievo 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.