What's new in ASP.NET 4.0

25
What's new in ASP.NET 4.0 Andrea Dottor Microsoft MVP ASP.NET

description

Il Microsoft .NET Framework è in continua evoluzione ed ha raggiunto la versione 4.0 accompagnato da moltissime novità. In questa sessione andremo in dettaglio per ciò che riguarda l'ultima versione di ASP.NET 4.0, ponendo il focus sulle nuove funzionalità e sui cambiamenti più importanti. Con esempi pratici vedremo come questa nuova versione agevolerà lo sviluppatore nel realizzare le proprie applicazioni. Maggiore controllo del codice prodotto, SEO, nuovi template project, Script Loader, Client Data Access e migliorie ai controlli esistenti, sono solo alcuni degli argomenti che verranno trattati.

Transcript of What's new in ASP.NET 4.0

Page 1: What's new in ASP.NET 4.0

What's new in ASP.NET 4.0

Andrea DottorMicrosoft MVP ASP.NET

Page 2: What's new in ASP.NET 4.0

Agenda

o ASP.NET 4.0 core services (Visual Studio 2010, IIS7)

o SEO Featureso Maggiore controllo del HTMLo Routingo ASP.NET AJAX

Page 3: What's new in ASP.NET 4.0

Project Template Changes

o Empty Web Application Templateo Contiene solamente il file Web.Config

o Web Application and Web Site Project Templateso Crea un'applicazione web con alcune

pagine, e con già le funzionalità di membership, roles e profiles che fanno uso di SQL Express

o Le pagine presenti fanno uso di master-page

o Hanno una grafica di base

Page 4: What's new in ASP.NET 4.0

Web.config File Minification

o Nel Framework .NET 4.0 la maggior parte della configurazione è stata spostata nel machine.config

o Il file Web.config eredita le configurazioni dal machine.config

o Il file Web.config conterrà le configurazioni personalizzate, o modifiche a quelle di default

Page 5: What's new in ASP.NET 4.0

o Possibilità di applicare delle trasformazioni al web.config in fase di pubblicazione

o XML Document Transform (XDT)o Trasformazione applicata solo in fase

di pubblicazioneo E’ possibile specificare un XDT per

ogni configurazione di compilazioneo Web.debug.configo Web.release.config

Web.config Transformation

Page 6: What's new in ASP.NET 4.0

Web.config TransformationsTransform Description

xdt:Transform=“Replace” Replaces the first matched node

xdt:Transform=“Remove” Removes the first matched node

xdt:Transform=“RemoveAll” Removes all the matching nodes

xdt:Transform=“Insert” Inserts the node at the end

xdt:Transform=“SetAttributes(attributeNames)”

Creates or changes values of the existing attributes

xdt:Transform=“RemoveAttributes(attributeNames)”

Removes the attributes if they exist

xdt:Transform=“InsertBefore(XPath)” Inserts the node on the provided Xpath

xdt:Transform=“InsertAfter(XPath)” Inserts the node on the provided XPath

Page 7: What's new in ASP.NET 4.0

Auto-Start Web Applications

o Possibilità di “avviare” l’applicazione in modo automaticoo Vengono eseguite delle chiamate che

causano l’avvio dell’applicazione e mantengono il processo sempre attivo e pronto

o Evita il problema che il primo client deve attendere l’avvio dell’applicazione

o Valido per le applicazioni che eseguono parecchie elaborazioni all’avvio, come per esempio nel metodo Application_Start

Page 8: What's new in ASP.NET 4.0

Auto-Start Web Applications

o Con ASP.NET 4 hostato in IIS 7.5

o Richiede la modifica del file applicationHost.config che si trova in C:\Windows\System32\inetsrv\config\applicationHost.config

o Nell’applicationPools: startMode=“AlwaysRunning”

o Nel site dove si vuole abilitare:serviceAutoStartEnabled="true"

Page 9: What's new in ASP.NET 4.0

“warming up” Web Applicationso E’ possibile specificare una classe che

esegua tutte le operazione da svolgere al primo caricamento

serviceAutoStartProvider=“PreWarmMyCache“

o IIS non accetterà richieste fino a quando il precaricamento non sarà concluso

o La classe da creare dovrà implementareIProcessHostPreloadCliento public void Preload(string[] parameters)

Page 10: What's new in ASP.NET 4.0

Auto-Start Web Applications

Page 11: What's new in ASP.NET 4.0

Auto-Start Web Applications

o Il team di IIS ha rilasciato ‘Application Warm-Up Module’ per esegure il warmup delle applicazionio Non richiede la modifica manuale dei file

di configurazioneo Si configura tramite tool graficoo Si ha la possibilità di specificare

le chiamate da eseguire per avviare l’applicazione

Page 12: What's new in ASP.NET 4.0

SEO Features - Meta Tags

o Nella Page sono state aggiunte le proprietà per impostare MetaKeywords e MetaDescriptiono Page.MetaKeywordso Page.MetaDescription

o E’ possibile valorizzarle direttamente nel markup della pagina (nella direttiva di pagina)

Page 13: What's new in ASP.NET 4.0

SEO Features - RedirectPermanento Esecuzione di un redirect permanente

verso un url specificoo HTTP Status Code of 301 – Moved

Permanently

o NOTA: Il classico redirect (Response.Redirect) viene eseguito con codice 302 (temporary redirect)

Page 14: What's new in ASP.NET 4.0

SEO Features - RedirectPermanento Possibilità di eseguire il redirect

applicando le regole del routingo RedirectToRoute -> 302o RedirectToRoutePermanent -> 301

Page 15: What's new in ASP.NET 4.0

Enabling View State for Individual Controlso Possibilità di gestire il comportamento

del ViewState per ogni singolo controlloo ViewStateMode:

o Enabled: ViewState abilitato per questo controllo e per I controlli figli che hanno ViewStateMode valorizzato a Inherit (o non specificato)

o Disabled: ViewState disabilitatoo Inherit: Indica al controllo di utilizzare il

valore di ViewStateMode del controllo padre

o Di default il ViewState è abilitato

Page 16: What's new in ASP.NET 4.0

Setting Client IDs

o Con l’uso della proprietà ClientIDMode sarà possibile gestire la valorizzazione del ClientID.

o Permette di ridurre la lunghezza degli IDctl00_ContentPlaceHolder1_ParentPanel_NamingPanel1_TextBox1

o Agevola l’utilizzo degli ID negli script cliento È più immediato scrivere $get(“TextBox1”) invece

di$get(“ctl00_ContentPlaceHolder1_ParentPanel_NamingPanel1_TextBox1”)

Page 17: What's new in ASP.NET 4.0

Setting Client IDs

o La proprietà ClientIDMode può valere:o AutoID: Comportamento come l’attualeo Static: La proprietà ClientID verrà

valorizzata come specificata in IDo Predictable: Concatena l’ID del controllo

a quello del parent.o Può essere utilizzato assieme a

ClientIDRowSuffix per concatenare proprietà di oggetti in binding.

o Inherit: Indica di utilizzare lo stesso valore che è impostato nel controllo padre.

Page 18: What's new in ASP.NET 4.0

Routing in ASP.NET 4

o Introdotto già in ASP.NET 3.5 SP1

o Migliorato in ASP.NET 4.0, introdotte nuove classe che facilitano l’utilizzo:o PageRouteHandlero HttpRequest.RequestContext,

Page.RouteData o RouteUrlExpressionBuilder,

RouteValueExpressionBuildero RouteParameter

Page 19: What's new in ASP.NET 4.0

Andrea Dottor

Blog: http://blog.dottor.net

Email: [email protected]

Site: http://www.dottor.net

Twitter: http://twitter.com/dottor

Gamertag: andreadottor

Page 20: What's new in ASP.NET 4.0

© 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.

Page 21: What's new in ASP.NET 4.0

Prossimi Meeting

o 7/5/2010 - Client & Code Tools Tracko Davide Senatore - WPF Dashboards with

Prism o Davide Vernole - Test Driven

Development & Continuous Integration, codice di qualità con Visual Studio 2010

o 4/6/2010 - Visual Studio & Tools Tracko Andrea Boschin - Application prototyping

con SketchFlow o Davide Vernole - MSF Agile 5, la proposta

Microsoft per la metodologia Scrum

Page 22: What's new in ASP.NET 4.0

Microsoft Ajax Library – CDN

o Permette di scaricare gli script Microsoft AJAX Library e JQuery

o I contenuti della Microsoft Ajax CDN sono mantenuti in cache da server sparsi in giro per il mondo

o Si ha una maggiore velocità di download in quanto verranno recuperati dal server più vicino

o Supporta htts<script

src="http://ajax.microsoft.com/ajax/beta/0911/Start.js" type="text/javascript" />

Page 23: What's new in ASP.NET 4.0

Microsoft Ajax Library – Script Loadero Permette di scaricare in un secondo

momento gli script necessario Permette di caricare solamente gli

script necessario Recupera gli script anche dalla CDN

Microsoft Ajax Content Delivery Network

o Caricamento+veloceo Solo script necessario Referenziare solo

Start.js

Page 24: What's new in ASP.NET 4.0

Microsoft Ajax Library – DataViewo Possibilità di eseguire il bindig di

oggetti/dati direttamente lato client

Page 25: What's new in ASP.NET 4.0

Microsoft Ajax Library – DataContexto Viene usato per eseguire il bindig degli

oggetti lato cliento Supporta anche gli ADO.NET Data

Serviceso E’ bidirezionale (lettura+scrittura)