SlideShare une entreprise Scribd logo
1  sur  25
What's new in ASP.NET 4.0 Andrea DottorMicrosoft MVP ASP.NET
Agenda ASP.NET 4.0 core services (Visual Studio 2010, IIS7) SEO Features Maggiore controllo del HTML Routing ASP.NET AJAX
Project Template Changes Empty Web Application Template Contiene solamente il file Web.Config Web Application and Web Site Project Templates Crea un'applicazione web con alcune pagine, e con già le funzionalità di membership, roles e profiles che fanno uso di SQL Express Le pagine presenti fanno uso di master-page Hanno una grafica di base
Web.config File Minification Nel Framework .NET 4.0 la maggior parte della configurazione è stata spostata nel machine.config Il file Web.config eredita le configurazioni dal machine.config Il file Web.config conterrà le configurazioni personalizzate, o modifiche a quelle di default
Web.config Transformation Possibilità di applicare delle trasformazioni al web.config in fase di pubblicazione XML Document Transform (XDT) Trasformazione applicata solo in fase di pubblicazione E’ possibile specificare un XDT per ogni configurazione di compilazione Web.debug.config Web.release.config
Web.config Transformations
Auto-Start Web Applications Possibilità di “avviare” l’applicazione in modo automatico Vengono eseguite delle chiamate che causano l’avvio dell’applicazione e mantengono il processo sempre attivo e pronto Evita il problema che il primo client deve attendere l’avvio dell’applicazione Valido per le applicazioni che eseguono parecchie elaborazioni all’avvio, come per esempio nel metodo Application_Start
Auto-Start Web Applications Con ASP.NET 4 hostato in IIS 7.5  Richiede la modifica del file applicationHost.config che si trova in C:indowsystem32netsrvonfigpplicationHost.config Nell’applicationPools: startMode=“AlwaysRunning” Nel site dove si vuole abilitare:serviceAutoStartEnabled="true"
“warming up” Web Applications E’ possibile specificare una classe che esegua tutte le operazione da svolgere al primo caricamentoserviceAutoStartProvider=“PreWarmMyCache“ IIS non accetterà richieste fino a quando il precaricamento non sarà concluso La classe da creare dovrà implementareIProcessHostPreloadClient public void Preload(string[] parameters)
Auto-Start Web Applications
Auto-Start Web Applications Il team di IIS ha rilasciato ‘Application Warm-Up Module’ per esegure il warmup delle applicazioni Non richiede la modifica manuale dei file di configurazione Si configura tramite tool grafico Si ha la possibilità di specificarele chiamate da eseguire per avviare l’applicazione
SEO Features - Meta Tags Nella Page sono state aggiunte le proprietà per impostare MetaKeywords e MetaDescription Page.MetaKeywords Page.MetaDescription E’ possibile valorizzarle direttamente nel markup della pagina (nella direttiva di pagina)
SEO Features - RedirectPermanent Esecuzione di un redirect permanente verso un url specifico HTTP Status Code of 301 – Moved Permanently NOTA: Il classico redirect (Response.Redirect) vieneeseguito con codice 302 (temporary redirect)
SEO Features - RedirectPermanent Possibilità di eseguire il redirect applicando le regole del routing RedirectToRoute -> 302 RedirectToRoutePermanent -> 301
Enabling View State for Individual Controls Possibilità di gestire il comportamento del ViewState per ogni singolo controllo ViewStateMode: Enabled: ViewState abilitato per questo controllo e per I controlli figli che hannoViewStateModevalorizzato  a Inherit (o non specificato) Disabled: ViewState disabilitato Inherit: Indica al controllodiutilizzareilvalorediViewStateMode del controllo padre Di default ilViewState è abilitato
Setting Client IDs Con l’uso della proprietà ClientIDMode sarà possibile gestire la valorizzazione del ClientID. Permette di ridurre la lunghezza degli IDctl00_ContentPlaceHolder1_ParentPanel_NamingPanel1_TextBox1 Agevola l’utilizzo degli ID negli script client È più immediato scrivere $get(“TextBox1”) invece di$get(“ctl00_ContentPlaceHolder1_ParentPanel_NamingPanel1_TextBox1”)
Setting Client IDs La proprietà ClientIDMode può valere: AutoID: Comportamento come l’attuale Static: La proprietàClientIDverràvalorizzata come specificata in ID Predictable: Concatenal’ID del controllo a quello del parent. Puòessereutilizzatoassieme a ClientIDRowSuffix per concatenareproprietàdioggetti in binding. Inherit: Indicadiutilizzare lo stessovalore che è impostato nelcontrollo padre.
Routing in ASP.NET 4 Introdotto già in ASP.NET 3.5 SP1 Migliorato in ASP.NET 4.0, introdotte nuove classe che facilitano l’utilizzo: PageRouteHandler HttpRequest.RequestContext, Page.RouteData RouteUrlExpressionBuilder, RouteValueExpressionBuilder RouteParameter
Andrea Dottor Blog: http://blog.dottor.net Email: andrea@dottor.net Site: http://www.dottor.net Twitter: http://twitter.com/dottor Gamertag: andreadottor
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Visual Studio, the Visual Studio logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.    The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Prossimi Meeting 7/5/2010 - Client & Code Tools Track Davide Senatore - WPF Dashboards with Prism  Davide Vernole - Test Driven Development & Continuous Integration, codice di qualità con Visual Studio 2010  4/6/2010 - Visual Studio & Tools Track Andrea Boschin - Application prototyping con SketchFlow  Davide Vernole - MSF Agile 5, la proposta Microsoft per la metodologia Scrum
Microsoft Ajax Library – CDN Permette di scaricare gli script Microsoft AJAX Library e JQuery I contenuti della Microsoft Ajax CDN sono mantenuti in cache da server sparsi in giro per il mondo Si ha una maggiore velocità di download in quanto verranno recuperati dal server più vicino Supporta htts <script  	src="http://ajax.microsoft.com/ajax/beta/0911/Start.js" 	type="text/javascript" />
Microsoft Ajax Library – Script Loader Permette di scaricare in un secondo momento gli script necessari Permette di caricare solamente gli script necessari Recupera gli script anche dalla CDN Microsoft Ajax Content Delivery Network Caricamento+veloce Solo script necessari Referenziare soloStart.js
Microsoft Ajax Library –DataView Possibilità di eseguire il bindig di oggetti/dati direttamente lato client
Microsoft Ajax Library –DataContext Viene usato per eseguire il bindig degli oggetti lato client Supporta anche gli ADO.NET Data Services E’ bidirezionale (lettura+scrittura)

Contenu connexe

Similaire à What's new in ASP.NET 4.0

ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiAndrea Dottor
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockoutDotNetCampus
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS BuildGian Maria Ricci
 
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applicationsDotNetCampus
 
Wss Solution Framework
Wss Solution FrameworkWss Solution Framework
Wss Solution Frameworkmakkros
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the WebClaudio Gandelli
 
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 futuroAndrea Dottor
 
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Andrea Dottor
 
Corso WebApp iOS - Lezione 08: Optimize iOS WebApp
Corso WebApp iOS - Lezione 08: Optimize iOS WebAppCorso WebApp iOS - Lezione 08: Optimize iOS WebApp
Corso WebApp iOS - Lezione 08: Optimize iOS WebAppAndrea Picchi
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiAndrea Dottor
 
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.jsAndrea Dottor
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriGrUSP
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriAlessandro Nadalin
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
 
Sharepoint 2010 JQuery
Sharepoint 2010  JQuerySharepoint 2010  JQuery
Sharepoint 2010 JQueryDecatec
 
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.1dotnetcode
 

Similaire à What's new in ASP.NET 4.0 (20)

ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockout
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS Build
 
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applications
 
Wss Solution Framework
Wss Solution FrameworkWss Solution Framework
Wss Solution Framework
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
 
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
 
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
Corso WebApp iOS - Lezione 08: Optimize iOS WebApp
Corso WebApp iOS - Lezione 08: Optimize iOS WebAppCorso WebApp iOS - Lezione 08: Optimize iOS WebApp
Corso WebApp iOS - Lezione 08: Optimize iOS WebApp
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
 
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
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
 
Wpo extended
Wpo extendedWpo extended
Wpo extended
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
 
MVC and Struts 1
MVC and Struts 1MVC and Struts 1
MVC and Struts 1
 
Sharepoint 2010 JQuery
Sharepoint 2010  JQuerySharepoint 2010  JQuery
Sharepoint 2010 JQuery
 
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
 

Plus de XeDotNet

Codice di qualità con VS2010 (TDD)
Codice di qualità con VS2010 (TDD)Codice di qualità con VS2010 (TDD)
Codice di qualità con VS2010 (TDD)XeDotNet
 
Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)XeDotNet
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4XeDotNet
 
ASP.NET 4.0
ASP.NET 4.0ASP.NET 4.0
ASP.NET 4.0XeDotNet
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQueryXeDotNet
 
Real World State And Notification Broker
Real World State And Notification BrokerReal World State And Notification Broker
Real World State And Notification BrokerXeDotNet
 
Windows Embedded, Segreti E Misteri Delle Piattaforme
Windows Embedded, Segreti E Misteri Delle PiattaformeWindows Embedded, Segreti E Misteri Delle Piattaforme
Windows Embedded, Segreti E Misteri Delle PiattaformeXeDotNet
 
Slverlight Networking (Andrea Boschin)
Slverlight Networking (Andrea Boschin)Slverlight Networking (Andrea Boschin)
Slverlight Networking (Andrea Boschin)XeDotNet
 

Plus de XeDotNet (8)

Codice di qualità con VS2010 (TDD)
Codice di qualità con VS2010 (TDD)Codice di qualità con VS2010 (TDD)
Codice di qualità con VS2010 (TDD)
 
Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
ASP.NET 4.0
ASP.NET 4.0ASP.NET 4.0
ASP.NET 4.0
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
 
Real World State And Notification Broker
Real World State And Notification BrokerReal World State And Notification Broker
Real World State And Notification Broker
 
Windows Embedded, Segreti E Misteri Delle Piattaforme
Windows Embedded, Segreti E Misteri Delle PiattaformeWindows Embedded, Segreti E Misteri Delle Piattaforme
Windows Embedded, Segreti E Misteri Delle Piattaforme
 
Slverlight Networking (Andrea Boschin)
Slverlight Networking (Andrea Boschin)Slverlight Networking (Andrea Boschin)
Slverlight Networking (Andrea Boschin)
 

What's new in ASP.NET 4.0

  • 1. What's new in ASP.NET 4.0 Andrea DottorMicrosoft MVP ASP.NET
  • 2. Agenda ASP.NET 4.0 core services (Visual Studio 2010, IIS7) SEO Features Maggiore controllo del HTML Routing ASP.NET AJAX
  • 3. Project Template Changes Empty Web Application Template Contiene solamente il file Web.Config Web Application and Web Site Project Templates Crea un'applicazione web con alcune pagine, e con già le funzionalità di membership, roles e profiles che fanno uso di SQL Express Le pagine presenti fanno uso di master-page Hanno una grafica di base
  • 4. Web.config File Minification Nel Framework .NET 4.0 la maggior parte della configurazione è stata spostata nel machine.config Il file Web.config eredita le configurazioni dal machine.config Il file Web.config conterrà le configurazioni personalizzate, o modifiche a quelle di default
  • 5. Web.config Transformation Possibilità di applicare delle trasformazioni al web.config in fase di pubblicazione XML Document Transform (XDT) Trasformazione applicata solo in fase di pubblicazione E’ possibile specificare un XDT per ogni configurazione di compilazione Web.debug.config Web.release.config
  • 7. Auto-Start Web Applications Possibilità di “avviare” l’applicazione in modo automatico Vengono eseguite delle chiamate che causano l’avvio dell’applicazione e mantengono il processo sempre attivo e pronto Evita il problema che il primo client deve attendere l’avvio dell’applicazione Valido per le applicazioni che eseguono parecchie elaborazioni all’avvio, come per esempio nel metodo Application_Start
  • 8. Auto-Start Web Applications Con ASP.NET 4 hostato in IIS 7.5 Richiede la modifica del file applicationHost.config che si trova in C:indowsystem32netsrvonfigpplicationHost.config Nell’applicationPools: startMode=“AlwaysRunning” Nel site dove si vuole abilitare:serviceAutoStartEnabled="true"
  • 9. “warming up” Web Applications E’ possibile specificare una classe che esegua tutte le operazione da svolgere al primo caricamentoserviceAutoStartProvider=“PreWarmMyCache“ IIS non accetterà richieste fino a quando il precaricamento non sarà concluso La classe da creare dovrà implementareIProcessHostPreloadClient public void Preload(string[] parameters)
  • 11. Auto-Start Web Applications Il team di IIS ha rilasciato ‘Application Warm-Up Module’ per esegure il warmup delle applicazioni Non richiede la modifica manuale dei file di configurazione Si configura tramite tool grafico Si ha la possibilità di specificarele chiamate da eseguire per avviare l’applicazione
  • 12. SEO Features - Meta Tags Nella Page sono state aggiunte le proprietà per impostare MetaKeywords e MetaDescription Page.MetaKeywords Page.MetaDescription E’ possibile valorizzarle direttamente nel markup della pagina (nella direttiva di pagina)
  • 13. SEO Features - RedirectPermanent Esecuzione di un redirect permanente verso un url specifico HTTP Status Code of 301 – Moved Permanently NOTA: Il classico redirect (Response.Redirect) vieneeseguito con codice 302 (temporary redirect)
  • 14. SEO Features - RedirectPermanent Possibilità di eseguire il redirect applicando le regole del routing RedirectToRoute -> 302 RedirectToRoutePermanent -> 301
  • 15. Enabling View State for Individual Controls Possibilità di gestire il comportamento del ViewState per ogni singolo controllo ViewStateMode: Enabled: ViewState abilitato per questo controllo e per I controlli figli che hannoViewStateModevalorizzato a Inherit (o non specificato) Disabled: ViewState disabilitato Inherit: Indica al controllodiutilizzareilvalorediViewStateMode del controllo padre Di default ilViewState è abilitato
  • 16. Setting Client IDs Con l’uso della proprietà ClientIDMode sarà possibile gestire la valorizzazione del ClientID. Permette di ridurre la lunghezza degli IDctl00_ContentPlaceHolder1_ParentPanel_NamingPanel1_TextBox1 Agevola l’utilizzo degli ID negli script client È più immediato scrivere $get(“TextBox1”) invece di$get(“ctl00_ContentPlaceHolder1_ParentPanel_NamingPanel1_TextBox1”)
  • 17. Setting Client IDs La proprietà ClientIDMode può valere: AutoID: Comportamento come l’attuale Static: La proprietàClientIDverràvalorizzata come specificata in ID Predictable: Concatenal’ID del controllo a quello del parent. Puòessereutilizzatoassieme a ClientIDRowSuffix per concatenareproprietàdioggetti in binding. Inherit: Indicadiutilizzare lo stessovalore che è impostato nelcontrollo padre.
  • 18. Routing in ASP.NET 4 Introdotto già in ASP.NET 3.5 SP1 Migliorato in ASP.NET 4.0, introdotte nuove classe che facilitano l’utilizzo: PageRouteHandler HttpRequest.RequestContext, Page.RouteData RouteUrlExpressionBuilder, RouteValueExpressionBuilder RouteParameter
  • 19. Andrea Dottor Blog: http://blog.dottor.net Email: andrea@dottor.net Site: http://www.dottor.net Twitter: http://twitter.com/dottor Gamertag: andreadottor
  • 20. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Visual Studio, the Visual Studio logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.   The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 21. Prossimi Meeting 7/5/2010 - Client & Code Tools Track Davide Senatore - WPF Dashboards with Prism Davide Vernole - Test Driven Development & Continuous Integration, codice di qualità con Visual Studio 2010 4/6/2010 - Visual Studio & Tools Track Andrea Boschin - Application prototyping con SketchFlow Davide Vernole - MSF Agile 5, la proposta Microsoft per la metodologia Scrum
  • 22. Microsoft Ajax Library – CDN Permette di scaricare gli script Microsoft AJAX Library e JQuery I contenuti della Microsoft Ajax CDN sono mantenuti in cache da server sparsi in giro per il mondo Si ha una maggiore velocità di download in quanto verranno recuperati dal server più vicino Supporta htts <script src="http://ajax.microsoft.com/ajax/beta/0911/Start.js" type="text/javascript" />
  • 23. Microsoft Ajax Library – Script Loader Permette di scaricare in un secondo momento gli script necessari Permette di caricare solamente gli script necessari Recupera gli script anche dalla CDN Microsoft Ajax Content Delivery Network Caricamento+veloce Solo script necessari Referenziare soloStart.js
  • 24. Microsoft Ajax Library –DataView Possibilità di eseguire il bindig di oggetti/dati direttamente lato client
  • 25. Microsoft Ajax Library –DataContext Viene usato per eseguire il bindig degli oggetti lato client Supporta anche gli ADO.NET Data Services E’ bidirezionale (lettura+scrittura)