Panoramica di ASP.NET Core

Di Daniel Roth, Rick Anderson, e Shaun Luttin

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 e servizi Web, 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.

Perché scegliere ASP.NET Core?

Milioni di sviluppatori usano o usano ASP.NET 4.x per creare app Web. ASP.NET Core è una riprogettazione di ASP.NET 4.x, incluse le modifiche architetturali che generano 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 si integra perfettamente con i framework e le librerie lato client più diffusi, tra cui Blazor, Angular, React e Bootstrap. Per altre informazioni, vedere ASP.NET Core Blazor e argomenti correlati in Sviluppo sul lato client.

framework di destinazione ASP.NET Core

ASP.NET Core 3.x o versione successiva può essere destinato solo a .NET Core. In genere, ASP.NET Core è costituito 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.

Usare .NET Core come destinazione offre diversi vantaggi, che aumentano con ogni versione. Alcuni vantaggi di .NET Core in .NET Framework sono:

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
    app Web Nuovo sviluppo dell'interfaccia utente Web sul lato server Introduzione alle Razor pagine
    app Web Gestione di un'app MVC Introduzione a MVC
    app Web Sviluppo dell'interfaccia utente Web sul lato client Introduzione Blazor
    API Web RESTservizi HTTP ful Creare un'API Web
    App Remote Procedure Call Servizi contract-first che usano i buffer del protocollo Introduzione all'uso di 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 ASP.NET Core applicabili 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 un Cloud Shell di Azure nel browser e curl viene usato per il 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 Eseguire l'aggiornamento 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 usano 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 Blazor, Angular, React e Bootstrap. Per altre informazioni, vedere ASP.NET Core Blazor e argomenti correlati in Sviluppo sul lato client.

ASP.NET Core per .NET Framework

ASP.NET Core 2.x può avere come destinazione .NET Core o .NET Framework. ASP.NET Core le app 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 eseguite 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 colmare il divario tra l'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
    app Web Per un nuovo sviluppo Introduzione alle Razor pagine
    app Web Per gestire un'app MVC Introduzione a MVC
    API Web 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 ASP.NET Core applicabili a tutti i tipi di app.

  4. Esplorare il Sommario per cercare altri argomenti di interesse.

†Altre api Web che si segue 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 Eseguire l'aggiornamento 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 e #if-#else/#elif-#endif del preprocessore 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 che si vuole 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#).

Aree del codice di esempio

Alcune app di esempio contengono sezioni di codice racchiuse tra #region e #endregion direttive C#. Il sistema di compilazione della documentazione inserisce queste aree negli argomenti della documentazione visualizzabile.

I nomi delle aree in genere contengono la parola "frammento". L'esempio seguente mostra un'area denominata snippet_WebHostDefaults:

#region snippet_WebHostDefaults
Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
    {
        webBuilder.UseStartup<Startup>();
    });
#endregion

Il file markdown dell'argomento fa riferimento al frammento di codice C# precedente con la riga seguente:

[!code-csharp[](sample/SampleApp/Program.cs?name=snippet_WebHostDefaults)]

È possibile ignorare (o rimuovere) in modo sicuro le #region direttive e #endregion che racchiudono il codice. Non modificare il codice all'interno di queste direttive se si prevede di eseguire gli scenari di esempio descritti nell'argomento. È possibile modificare il codice durante la sperimentazione con altri scenari.

Per altre informazioni, vedere Contribuire alla documentazione ASP.NET: Frammenti di codice.

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 altre informazioni, vedere le seguenti risorse: