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:

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:

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:

Per un'introduzione allo sviluppo di app ASP.NET Core, è consigliabile seguire questa sequenza di esercitazioni:

  1. 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
  2. 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
  3. Leggere una panoramica dei concetti fondamentali di ASP.NET Core che si applicano a tutti i tipi di app.

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

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:

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:

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:

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.

Per un'introduzione allo sviluppo delle app ASP.NET Core, è consigliabile eseguire la sequenza di esercitazioni e articoli seguente:

  1. 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
  2. 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
  3. Leggere una panoramica dei concetti fondamentali di ASP.NET Core che si applicano a tutti i tipi di app.

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

  1. Scaricare il file ZIP del repository ASP.NET.
  2. Decomprimere il file AspNetCore.Docs-main.zip.
  3. 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: