SlideShare a Scribd company logo
saturday 2017
COSA C'È DI NUOVO IN ASP.NET CORE 2.0
Andrea Dottor
@dottor
UN PÒ DI STORIA
• Active Server Pages (ASP)1999
• ASP.NET2002
• ASP.NET 22005
• ASP.NET MVC2008
• ASP.NET Web API2012
• ASP.NET vNext2014
• ASP.NET 5 RC12015
• ASP.NET Core 1.02016
• ASP.NET Core 2.02017
ASP.NET CORE (RECAP)
Possibilità di essere eseguito in ambiente Windows, Mac e Linux
Unico controller per View e API
Pipeline modulare, leggera e altamente performance
Dipendenze modulari.
E' stata eliminata la System.Web
Ogni funzionalità è in una dll/package separato (Session, Cache, …)
Framework di Dependency Injection integrato
ROADMAP
Ecco cosa ci aspetta dopo ASP.NET Core 2.0 (secondo quanto scritto su GitHub)
COSA C'È DI NUOVO IN ASP.NET CORE 2.0?
E' la versione .NET più veloce di sempre
Può essere eseguito sia su .NET Framework 4.6.1 che su .NET Core 2.0
Semplificata configurazione e nuovi templates
Incremento di performance
.NET CORE 2.0 IMPLEMENTA .NET STANDARD 2.0
API disponibili in .NET Standard 1.6 più di 13k
API disponibili in .NET Standard 2.0 più di 32k
~70% dei packages Nuget usano API compatibili
.NET CORE 2.0 TEMPLATES
Updated Templates
 Aggiunto template di progetto non MVC (Razor Pages)
New SPA templates
 Codice sorgente dell'app cliente presente nella cartella ClientApp, che viene poi
compilato/generato dentro alla folder wwwrootdist
 Basati su TypeScript e Webpack
 Server-side rendering
New "dotnet new" templates
 https://github.com/dotnet/templating/wiki/Available-templates-for-dotnet-new
DEMO SPA Template
SEMPLIFICAZIONE
CONFIGURATION AND LOGGING CHANGES
Da ASP.NET Core 2.0, IConfiguration, ILogger, ILoggerFactory,
IHostingEnvironment sono già da subito disponibili tramite DI
IConfiguration viene ora iniettato by default utilizzando il meccanismo di DI
Il codice per configurare la ILoggerFactory è stato spostato in fase di startup e
non più in Configure
MONITOR AND PROFILE WITH NO CODE CHANGES
Se pubblicato in un Azure App Service, non è
necessario eseguire modifiche al codice per
avere il performance profiling, error reporting
e la diagnostica di Azure Application Insights
Gli stessi log sono disponibili anche su Visual
Studio 2017 facendo "Add – Application
Insights Telemetry"
Questo possibile grazie all'implementazione di
IHostingStartup
 void Configure(IWebHostBuilder builder)
COOKIE TEMPDATA
TempData ora utilizza di default i cookie per salvare le informazioni
In ASP.NET Core 1.x di default utilizzava la sessione (si doveva abilitare)
E' possibile utilizzare nuovamente la sessione nel caso si debba memorizzare
parecchie informazioni
RAZOR PAGES
Abilitando MVC vengono abilitate anche le Razor Pages
 Utilizzando services.AddMvc()
Stesse caratteristiche e funzionalità dei View component
Possono avere un model che estende PageModel
 Metodo OnGetAsync
 Metodo OnPostAsync
Sviluppo più simile a MVVM (o a WebForm )
DEMO Razor Pages
PERFORMANCE
AUTOMATIC PAGE AND VIEW COMPILATION ON PUBLISH
Le view e le Razor-page in fase di pubblicazione dell'applicazione vengono
ora compilate di default
 Riduzione di 2.X dell'output
 Miglioramento del tempo di startup dell'applicazione
 I file vengono compilati in dll, e non più come file .cshtml
 La precompilazione può essere disabilitata
MICROSOFT.ASPNETCORE.ALL
Nelle applicazioni che hanno come target ASP.NET Core 2.0 è
possibile referenziare il metapackage Microsoft.AspNetCore.All
con tutti i vantaggi del .NET Core Runtime Store
Permette di referenziare TUTTI i package di ASP.NET Core e di Entity
Framework Core, ma senza dover fare il download dei singoli package
I package sono installati direttamente con il .NET Core SDK (.NET Core
Runtime Store)
Questi assembly sono già "pre-JIT'ted" (pre-compilati) così da velocizzare
il tempo di startup
CONCLUSIONI
MIGRARE DA ASP.NET 1.X
Guida per la migrazione:
 https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/
Attenzione se avete personalizzato i template (scaffolding), vanno
aggiornati
 https://forums.asp.net/p/2128119/6164188.aspx?Re+Migration+1+1+to+2+0+Scaffold+multiple+problems
In alcuni casi, la precompilazione delle View può non funzionare
 Risolto nella 2.0.1 https://github.com/dotnet/core-setup/issues/2981
 Risolto nella 2.1.0 preview 1
https://github.com/aspnet/MvcPrecompilation/issues/102
CONTROLLI TI TERZE PARTI
Telerik
https://www.telerik.com/aspnet-core-ui
Devexpress
https://www.devexpress.com/products/net/controls/asp/mvc-core.xml
Syncfusion
https://www.syncfusion.com/products/aspnetcore
HTTP://CUSTOMERS.MICROSOFT.COM/EN-US/STORY/RAYGUN
Andrea Dottor
Email: andrea@dottor.net
Www: www.dottor.net
Twitter: @dottor

More Related Content

What's hot

Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET Core
Andrea Dottor
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
Andrea Dottor
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
Andrea Dottor
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
Andrea Agnoletto
 
Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuniCreare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
Andrea Dottor
 
Alla scoperta di gRPC
Alla scoperta di gRPCAlla scoperta di gRPC
Alla scoperta di gRPC
Andrea Dottor
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
Andrea Dottor
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
Andrea Dottor
 
ASP .NET Core hands-on
ASP .NET Core hands-onASP .NET Core hands-on
ASP .NET Core hands-on
ugidotnet
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Andrea Dottor
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
Andrea Dottor
 
Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!
Massimo Bonanni
 
Esempi pratici
Esempi praticiEsempi pratici
Esempi pratici
DotNetMarche
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
Pietro Libro
 
Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETStefano Ottaviani
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
Antonio Liccardi
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal Webtrends
Stefano Iaboni
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailStefano Ottaviani
 
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVMRealizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Codemotion
 

What's hot (20)

Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET Core
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
 
Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuniCreare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
 
Alla scoperta di gRPC
Alla scoperta di gRPCAlla scoperta di gRPC
Alla scoperta di gRPC
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
ASP .NET Core hands-on
ASP .NET Core hands-onASP .NET Core hands-on
ASP .NET Core hands-on
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
 
Asp.Net MVC 5
Asp.Net MVC 5Asp.Net MVC 5
Asp.Net MVC 5
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!
 
Esempi pratici
Esempi praticiEsempi pratici
Esempi pratici
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
 
Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NET
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal Webtrends
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRail
 
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVMRealizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM
 

Similar to Cosa c'è di nuovo in asp.net core 2 0

Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0
Alessandro Forte
 
Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012Crismer La Pignola
 
ASP.NET Core essentials
ASP.NET Core essentialsASP.NET Core essentials
ASP.NET Core essentials
Andrea Saltarello
 
Spring e Flex
Spring e FlexSpring e Flex
Spring e Flex
Marcello Teodori
 
Web app slots and WebAPI versioning
Web app slots and WebAPI versioningWeb app slots and WebAPI versioning
Web app slots and WebAPI versioning
Nicolò Carandini
 
Web app slots and webapi versioning
Web app slots and webapi versioningWeb app slots and webapi versioning
Web app slots and webapi versioning
Nicolò Carandini
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
dotnetcode
 
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?
Giorgio Di Nardo
 
Blazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo GrecoBlazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo Greco
Giuneco S.r.l
 
ASP.NET Core Web Framework Benchmarks
ASP.NET Core Web Framework BenchmarksASP.NET Core Web Framework Benchmarks
ASP.NET Core Web Framework Benchmarks
Nicolò Carandini
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
Fabrizio Bernabei
 
Oltre il Worker Role, da Serverless computing a VM Scale Set
Oltre il Worker Role, da Serverless computing a VM Scale SetOltre il Worker Role, da Serverless computing a VM Scale Set
Oltre il Worker Role, da Serverless computing a VM Scale Set
Vito Flavio Lorusso
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
Gian Maria Ricci
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
Davide Benvegnù
 
Be02 portare la nostra applicazione su azure
Be02   portare la nostra applicazione su azureBe02   portare la nostra applicazione su azure
Be02 portare la nostra applicazione su azureDotNetCampus
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
Codemotion
 
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.js
Andrea Dottor
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
Daniele Mondello
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
Marco Parenzan
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)Luca Milan
 

Similar to Cosa c'è di nuovo in asp.net core 2 0 (20)

Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0
 
Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012
 
ASP.NET Core essentials
ASP.NET Core essentialsASP.NET Core essentials
ASP.NET Core essentials
 
Spring e Flex
Spring e FlexSpring e Flex
Spring e Flex
 
Web app slots and WebAPI versioning
Web app slots and WebAPI versioningWeb app slots and WebAPI versioning
Web app slots and WebAPI versioning
 
Web app slots and webapi versioning
Web app slots and webapi versioningWeb app slots and webapi versioning
Web app slots and webapi versioning
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
 
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?
 
Blazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo GrecoBlazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo Greco
 
ASP.NET Core Web Framework Benchmarks
ASP.NET Core Web Framework BenchmarksASP.NET Core Web Framework Benchmarks
ASP.NET Core Web Framework Benchmarks
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
 
Oltre il Worker Role, da Serverless computing a VM Scale Set
Oltre il Worker Role, da Serverless computing a VM Scale SetOltre il Worker Role, da Serverless computing a VM Scale Set
Oltre il Worker Role, da Serverless computing a VM Scale Set
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
 
Be02 portare la nostra applicazione su azure
Be02   portare la nostra applicazione su azureBe02   portare la nostra applicazione su azure
Be02 portare la nostra applicazione su azure
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
 
Migliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.jsMigliora il tuo codice con knockout.js
Migliora il tuo codice con knockout.js
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)
 

More from Andrea Dottor

Blazor ♥️ JavaScript
Blazor ♥️ JavaScriptBlazor ♥️ JavaScript
Blazor ♥️ JavaScript
Andrea Dottor
 
Blazor, lo sapevi che...
Blazor, lo sapevi che...Blazor, lo sapevi che...
Blazor, lo sapevi che...
Andrea Dottor
 
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Andrea Dottor
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3
Andrea Dottor
 
Real case: migrate from Web Forms to ASP.NET Core gradually
Real case: migrate from Web Forms to ASP.NET Core graduallyReal case: migrate from Web Forms to ASP.NET Core gradually
Real case: migrate from Web Forms to ASP.NET Core gradually
Andrea Dottor
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciuta
Andrea Dottor
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cache
Andrea Dottor
 
Deploy & Run on Azure App Service
Deploy & Run on Azure App ServiceDeploy & Run on Azure App Service
Deploy & Run on Azure App Service
Andrea Dottor
 
ASP.NET Core
ASP.NET CoreASP.NET Core
ASP.NET Core
Andrea Dottor
 
L'evoluzione del web
L'evoluzione del webL'evoluzione del web
L'evoluzione del web
Andrea Dottor
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5
Andrea Dottor
 
Il buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceIl buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita felice
Andrea Dottor
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppo
Andrea Dottor
 

More from Andrea Dottor (13)

Blazor ♥️ JavaScript
Blazor ♥️ JavaScriptBlazor ♥️ JavaScript
Blazor ♥️ JavaScript
 
Blazor, lo sapevi che...
Blazor, lo sapevi che...Blazor, lo sapevi che...
Blazor, lo sapevi che...
 
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
Come sta la nostra applicazione? Un viaggio alla scoperta degli Health Check ...
 
What's New in ASP.NET Core 3
What's New in ASP.NET Core 3What's New in ASP.NET Core 3
What's New in ASP.NET Core 3
 
Real case: migrate from Web Forms to ASP.NET Core gradually
Real case: migrate from Web Forms to ASP.NET Core graduallyReal case: migrate from Web Forms to ASP.NET Core gradually
Real case: migrate from Web Forms to ASP.NET Core gradually
 
Dependency injection questa sconosciuta
Dependency injection questa sconosciutaDependency injection questa sconosciuta
Dependency injection questa sconosciuta
 
ASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cacheASP.NET, ottimizziamo con la cache
ASP.NET, ottimizziamo con la cache
 
Deploy & Run on Azure App Service
Deploy & Run on Azure App ServiceDeploy & Run on Azure App Service
Deploy & Run on Azure App Service
 
ASP.NET Core
ASP.NET CoreASP.NET Core
ASP.NET Core
 
L'evoluzione del web
L'evoluzione del webL'evoluzione del web
L'evoluzione del web
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5
 
Il buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceIl buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita felice
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppo
 

Cosa c'è di nuovo in asp.net core 2 0

  • 1. saturday 2017 COSA C'È DI NUOVO IN ASP.NET CORE 2.0 Andrea Dottor @dottor
  • 2. UN PÒ DI STORIA • Active Server Pages (ASP)1999 • ASP.NET2002 • ASP.NET 22005 • ASP.NET MVC2008 • ASP.NET Web API2012 • ASP.NET vNext2014 • ASP.NET 5 RC12015 • ASP.NET Core 1.02016 • ASP.NET Core 2.02017
  • 3. ASP.NET CORE (RECAP) Possibilità di essere eseguito in ambiente Windows, Mac e Linux Unico controller per View e API Pipeline modulare, leggera e altamente performance Dipendenze modulari. E' stata eliminata la System.Web Ogni funzionalità è in una dll/package separato (Session, Cache, …) Framework di Dependency Injection integrato
  • 4. ROADMAP Ecco cosa ci aspetta dopo ASP.NET Core 2.0 (secondo quanto scritto su GitHub)
  • 5. COSA C'È DI NUOVO IN ASP.NET CORE 2.0? E' la versione .NET più veloce di sempre Può essere eseguito sia su .NET Framework 4.6.1 che su .NET Core 2.0 Semplificata configurazione e nuovi templates Incremento di performance
  • 6. .NET CORE 2.0 IMPLEMENTA .NET STANDARD 2.0 API disponibili in .NET Standard 1.6 più di 13k API disponibili in .NET Standard 2.0 più di 32k ~70% dei packages Nuget usano API compatibili
  • 7. .NET CORE 2.0 TEMPLATES Updated Templates  Aggiunto template di progetto non MVC (Razor Pages) New SPA templates  Codice sorgente dell'app cliente presente nella cartella ClientApp, che viene poi compilato/generato dentro alla folder wwwrootdist  Basati su TypeScript e Webpack  Server-side rendering New "dotnet new" templates  https://github.com/dotnet/templating/wiki/Available-templates-for-dotnet-new
  • 10. CONFIGURATION AND LOGGING CHANGES Da ASP.NET Core 2.0, IConfiguration, ILogger, ILoggerFactory, IHostingEnvironment sono già da subito disponibili tramite DI IConfiguration viene ora iniettato by default utilizzando il meccanismo di DI Il codice per configurare la ILoggerFactory è stato spostato in fase di startup e non più in Configure
  • 11.
  • 12. MONITOR AND PROFILE WITH NO CODE CHANGES Se pubblicato in un Azure App Service, non è necessario eseguire modifiche al codice per avere il performance profiling, error reporting e la diagnostica di Azure Application Insights Gli stessi log sono disponibili anche su Visual Studio 2017 facendo "Add – Application Insights Telemetry" Questo possibile grazie all'implementazione di IHostingStartup  void Configure(IWebHostBuilder builder)
  • 13. COOKIE TEMPDATA TempData ora utilizza di default i cookie per salvare le informazioni In ASP.NET Core 1.x di default utilizzava la sessione (si doveva abilitare) E' possibile utilizzare nuovamente la sessione nel caso si debba memorizzare parecchie informazioni
  • 14. RAZOR PAGES Abilitando MVC vengono abilitate anche le Razor Pages  Utilizzando services.AddMvc() Stesse caratteristiche e funzionalità dei View component Possono avere un model che estende PageModel  Metodo OnGetAsync  Metodo OnPostAsync Sviluppo più simile a MVVM (o a WebForm )
  • 17. AUTOMATIC PAGE AND VIEW COMPILATION ON PUBLISH Le view e le Razor-page in fase di pubblicazione dell'applicazione vengono ora compilate di default  Riduzione di 2.X dell'output  Miglioramento del tempo di startup dell'applicazione  I file vengono compilati in dll, e non più come file .cshtml  La precompilazione può essere disabilitata
  • 18. MICROSOFT.ASPNETCORE.ALL Nelle applicazioni che hanno come target ASP.NET Core 2.0 è possibile referenziare il metapackage Microsoft.AspNetCore.All con tutti i vantaggi del .NET Core Runtime Store Permette di referenziare TUTTI i package di ASP.NET Core e di Entity Framework Core, ma senza dover fare il download dei singoli package I package sono installati direttamente con il .NET Core SDK (.NET Core Runtime Store) Questi assembly sono già "pre-JIT'ted" (pre-compilati) così da velocizzare il tempo di startup
  • 20. MIGRARE DA ASP.NET 1.X Guida per la migrazione:  https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/ Attenzione se avete personalizzato i template (scaffolding), vanno aggiornati  https://forums.asp.net/p/2128119/6164188.aspx?Re+Migration+1+1+to+2+0+Scaffold+multiple+problems In alcuni casi, la precompilazione delle View può non funzionare  Risolto nella 2.0.1 https://github.com/dotnet/core-setup/issues/2981  Risolto nella 2.1.0 preview 1 https://github.com/aspnet/MvcPrecompilation/issues/102
  • 21. CONTROLLI TI TERZE PARTI Telerik https://www.telerik.com/aspnet-core-ui Devexpress https://www.devexpress.com/products/net/controls/asp/mvc-core.xml Syncfusion https://www.syncfusion.com/products/aspnetcore
  • 23. Andrea Dottor Email: andrea@dottor.net Www: www.dottor.net Twitter: @dottor