Progettare applicazioni Web moderne con ASP.NET Core e Azure
Prima di leggere questo articolo, è consigliabile leggere il modello di app Web moderna per .NET. Articolo: Modello di app Web moderna per .NET
- Guida consigliata da Microsoft per i modelli moderni di app Web. Fornisce un'architettura, un codice e una guida di configurazione prescrittivi su come modernizzare le app Web nel cloud.
- Fornisce un'implementazione di riferimento GitHub : un'app Web di livello professionale che utilizza le migliori pratiche. Contiene esempi concreti per creare app Web moderne in Azure.
- È più aggiornato di questo articolo e viene aggiornato attivamente.
EDITION v8.0 - Aggiornato a ASP.NET Core 8.0
Per gli aggiornamenti del libro e i contributi della comunità, vedere il registro delle modifiche .
PUBBLICATO DA
Team dei prodotti di Microsoft Developer Division, .NET e Visual Studio
Divisione di Microsoft Corporation
One Microsoft Way
Redmond, Washington 98052-6399
Copyright © 2023 di Microsoft Corporation
Tutti i diritti riservati. Nessuna parte del contenuto di questo libro può essere riprodotta o trasmessa in alcun modo o senza l'autorizzazione scritta dell'editore.
Questo libro viene fornito "as-is" ed esprime le opinioni dell'autore. Le opinioni, le opinioni e le informazioni espresse in questo libro, inclusi URL e altri riferimenti a siti web, possono essere soggetti a modifiche senza preavviso.
Alcuni esempi illustrati in questo documento sono forniti solo per l'illustrazione e sono fittizi. Non è prevista né deve essere dedotta alcuna associazione o connessione reale.
Microsoft e i marchi elencati in https://www.microsoft.com sulla pagina web "Marchi" sono marchi del gruppo di società Microsoft.
Mac e macOS sono marchi di Apple Inc.
Docker logo balena è un marchio registrato di Docker, Inc. Utilizzato su autorizzazione.
Tutti gli altri marchi e logo sono proprietà dei rispettivi proprietari.
Autore:
Steve "ardalis" Smith - Architetto del software e formatore - Ardalis.com
Editori:
Maira Wenzel
Collegamenti di azioni
Questo e-book è disponibile anche in formato PDF (solo versione inglese) Download
Clonare/fare il fork dell'applicazione di riferimento eShopOnWeb su GitHub
Introduzione
.NET 8 e ASP.NET Core offrono diversi vantaggi rispetto allo sviluppo .NET tradizionale. È consigliabile usare .NET 8 per le applicazioni server se alcuni o tutti gli elementi seguenti sono importanti per il successo dell'applicazione:
Supporto multipiattaforma.
Uso di microservizi.
Uso di contenitori Docker.
Requisiti di prestazioni e scalabilità elevati.
Versioning parallelo delle versioni di .NET per applicazione sullo stesso server.
Le app .NET 4.x tradizionali possono supportare molti di questi requisiti, ma ASP.NET Core e .NET 8 sono state ottimizzate per offrire un supporto migliorato per gli scenari precedenti.
Sempre più organizzazioni scelgono di ospitare le applicazioni Web nel cloud usando servizi come Microsoft Azure. È consigliabile ospitare l'applicazione nel cloud se sono importanti per l'applicazione o l'organizzazione:
Riduzione degli investimenti nei costi del data center (hardware, software, spazio, utilità, gestione server e così via)
Prezzi flessibili (pagamento in base all'utilizzo, non alla capacità inattiva).
Affidabilità estrema.
Mobilità delle app migliorata; cambiare facilmente la posizione e la modalità di distribuzione dell'app.
Capacità flessibile; aumentare o ridurre le prestazioni in base alle esigenze effettive.
La creazione di applicazioni Web con ASP.NET Core, ospitata in Azure, offre molti vantaggi competitivi rispetto alle alternative tradizionali. ASP.NET Core è ottimizzato per le moderne procedure di sviluppo di applicazioni Web e scenari di hosting cloud. In questa guida si apprenderà come progettare le applicazioni ASP.NET Core per sfruttare al meglio queste funzionalità.
Versione
Questa guida è stata rivista per coprire versione di .NET 8.0 insieme a molti aggiornamenti aggiuntivi correlati alla stessa "onda" di tecnologie (ovvero Azure e tecnologie di terze parti aggiuntive) che coincidono nel tempo con la versione .NET 8.0. Anche per questo la versione del libro è stata aggiornata alla versione 8.0.
Scopo
Questa guida fornisce linee guida complete sulla creazione di applicazioni web monolitiche usando ASP.NET Core e Azure. In questo contesto, "monolitico" si riferisce al fatto che queste applicazioni vengono distribuite come una singola unità, non come una raccolta di servizi e applicazioni che interagiscono. In alcuni contesti, il termine monolith può essere usato come dispregiativo, ma nella maggior parte delle situazioni una singola applicazione è molto più facile da costruire, distribuire ed eseguire il debug rispetto a un'applicazione composta da molti servizi diversi, soddisfacendo comunque i requisiti aziendali.
Questa guida è complementare a ".NET microservizi. Architettura per applicazioni .NET in container", che si concentra maggiormente su Docker, microservizi e distribuzione dei container per ospitare applicazioni aziendali.
Microservizi .NET. Architettura per applicazioni .NET in contenitori
-
e-book
https://aka.ms/MicroservicesEbook -
Applicazione di esempio
https://aka.ms/microservicesarchitecture
Chi deve usare questa guida
I destinatari di questa guida sono principalmente sviluppatori, responsabili dello sviluppo e architetti che sono interessati a creare applicazioni Web moderne usando tecnologie e servizi Microsoft nel cloud.
Un pubblico secondario è costituito da decision maker tecnici che hanno già familiarità ASP.NET o Azure e cercano informazioni su se è opportuno eseguire l'aggiornamento a ASP.NET Core per progetti nuovi o esistenti.
Come usare questa guida
Questa guida è stata condensata in un documento relativamente piccolo incentrato sulla creazione di applicazioni Web con tecnologie .NET moderne e Azure. Di conseguenza, può essere letto nella sua interezza per fornire una base di comprensione di tali applicazioni e le relative considerazioni tecniche. La guida, insieme all'applicazione di esempio, può fungere anche da punto di partenza o riferimento. Usa l'applicazione di esempio associata come modello per le tue applicazioni, oppure per capire come organizzare le parti componenti della propria applicazione. Fare riferimento ai principi della guida e alla copertura delle opzioni relative all'architettura e alla tecnologia e alle considerazioni sulle decisioni quando si stanno valutando queste scelte per la propria applicazione.
È possibile inoltrare questa guida al team per garantire una comprensione comune di queste considerazioni e opportunità. Avere tutti gli utenti che lavorano da un set comune di terminologia e principi sottostanti contribuisce a garantire un'applicazione coerente di modelli e procedure architetturali.
Inviare commenti e suggerimenti
Questo libro e gli esempi correlati sono in continua evoluzione, quindi il feedback è accolto. Se hai commenti su come questo libro può essere migliorato e stai leggendo questo libro su <learn.microsoft.com>, usa la sezione Feedback nella parte inferiore della pagina:
Come evidenziato nell'acquisizione dello schermo precedente, la sezione feedback consente di inviare commenti e suggerimenti per:
- Questo prodotto: utilizzando il modulo di feedback per i prodotti .NET.
- Questa pagina: uso di un modello di problema di GitHub con i dettagli della pagina.
Se stai leggendo questo libro come PDF, puoi inviare commenti e suggerimenti creando una nuova segnalazione GitHub su .NET Docs: problema o utilizzando il modello di segnalazione GitHub su eBook di architettura .NET: modello di problema.
Referenze
-
Scelta tra .NET e .NET Framework per le app server
https://learn.microsoft.com/dotnet/standard/choosing-core-framework-server