7. DotNetCode.IT
Microsoft .Net Coding Community
Novità ASP.NET Core 2.1
• Razor class libraries
• Identity UI library & scaffolding
• HTTPS
• Template additions to help meet some GDPR requirements*
• MVC functional test infrastructure
• [ApiController], ActionResult<T>
• IHttpClientFactory
• Kestrel on Sockets*
• Generic host builder
• Updated SPA templates*
• SignalR
8. DotNetCode.IT
Microsoft .Net Coding Community
Razor class libraries
Con ASP.NET Core 2.1 è più semplice compilare e includere l'interfaccia
utente basata su Razor in una libreria e condividerla tra più progetti.
Il nuovo Razor SDK consente di compilare file Razor in un progetto di
libreria di classi che può essere incluso in un pacchetto NuGet.
Le viste e le pagine delle librerie vengono individuate automaticamente e
possono essere usate dall'app.
10. DotNetCode.IT
Microsoft .Net Coding Community
Identity UI library & scaffolding
In ASP.NET Core 2.1, ASP.NET Identity Core, è stata riscritta come libreria di classi Razor.
Le app che includono ASPNET Identity possono applicare il nuovo scaffolder di Identity
per aggiungere il codice sorgente di default che è incluso nella libreria di classi Razor per
ASPNET Identity.
Se si vuole personalizzare un codice sorgente, è possibile creare un nuovo scafolfder per
modificare il comportamento di una determinata funzione.
Le app che non includono l'autenticazione possono applicare lo scaffolder di Identity per
aggiungere il pacchetto della libreria di classi Razor per Identity.
11. DotNetCode.IT
Microsoft .Net Coding Community
HTTPS
Vista la maggiore attenzione rivolta a sicurezza e privacy, è importante abilitare HTTPS per
le app Web.
L'imposizione HTTPS sta diventando sempre più rigida sul Web. I siti che non usano HTTPS
vengono considerati non sicuri.
Il Regolamento generale sulla protezione dei dati (GDPR) richiede l'uso di HTTPS per
proteggere la privacy degli utenti. Usare HTTPS nell'ambiente di produzione è una
questione critica, usarlo nell'ambiente di sviluppo può invece prevenire problemi di
distribuzione, ad esempio collegamenti non sicuri.
ASP.NET Core 2.1 include numerosi miglioramenti che semplificano l'uso di HTTPS
nell'ambiente di sviluppo e la configurazione di HTTPS nell'ambiente di produzione..
12. DotNetCode.IT
Microsoft .Net Coding Community
MVC functional test infrastructure
È stato introdotto un nuovo pacchetto (Microsoft.AspNetCore.Mvc.Testing ) che semplifica la
creazione e l'esecuzione di test funzionali.
I test di integrazione ci garantiscono che i componenti di un'app funzionano correttamente a un
livello che include l'infrastruttura che può influenzare il corretto funzionamento, ad esempio:
• Database.
• File system.
• Rete.
ASP.NET Core supporta i test di integrazione tramite un framework unit test con un host web di test e
un server in memoria.
13. DotNetCode.IT
Microsoft .Net Coding Community
MVC functional test infrastructure
Prerequisiti dell'app di test
Il progetto di test deve fare riferimento a pacchetti seguenti:
• Microsoft.AspNetCore.App
• Microsoft.AspNetCore.Mvc.Testing
Specificare l’ SDK Web nel file di progetto
<Project Sdk="Microsoft.NET.Sdk.Web">.
L’SDK Web è obbligatorio quando si fa riferimento al metapacchetto Microsoft.AspNetCore.App.
15. DotNetCode.IT
Microsoft .Net Coding Community
[ApiController], ActionResult<T>
ASP.NET Core 2.1 aggiunge nuove convenzioni di programmazione che
rendono più semplice la compilazione di API Web descrittive e ordinate.
ActionResult<T> è una nuova convenzione aggiunta che consente a
un'app di restituire un tipo di risposta o qualsiasi altro risultato dell'azione
(come IActionResult) e al tempo stesso indicare il tipo di risposta.
[ApiController] è un attributo aggiunto per acconsentire esplicitamente a
convenzioni e comportamenti specifici per API Web.
16. DotNetCode.IT
Microsoft .Net Coding Community
IHttpClientFactory
ASP.NET Core 2.1 include un nuovo servizio IHttpClientFactory che
semplifica la configurazione e l'uso di istanze di HttpClient nelle app.
HttpClient include già il concetto di delega di gestori concatenati per le
richieste HTTP in uscita.
17. DotNetCode.IT
Microsoft .Net Coding Community
Generic host builder
È stato introdotto il generatore di host generico (HostBuilder).
Ora è possibile usare il un host generico per le app che non
elaborano richieste HTTP, ad esempio
• Gestire la messaggistica.
• Gestire attività in background.