Upload
xedotnet
View
1.654
Download
2
Tags:
Embed Size (px)
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.
Citation preview
What's new in ASP.NET 4.0
Andrea DottorMicrosoft MVP ASP.NET
Agenda
o ASP.NET 4.0 core services (Visual Studio 2010, IIS7)
o SEO Featureso Maggiore controllo del HTMLo Routingo ASP.NET AJAX
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
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
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
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
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
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"
“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)
Auto-Start Web Applications
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
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)
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)
SEO Features - RedirectPermanento Possibilità di eseguire il redirect
applicando le regole del routingo RedirectToRoute -> 302o RedirectToRoutePermanent -> 301
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
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”)
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.
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
Andrea Dottor
Blog: http://blog.dottor.net
Email: [email protected]
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
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
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" />
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
Microsoft Ajax Library – DataViewo Possibilità di eseguire il bindig di
oggetti/dati direttamente lato client
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)