SlideShare a Scribd company logo
Introduzione ad ASP.NET 4.0Alessandro Forte“Audaces .NET iuvat”( .NET aiuta gli audaci  )1Alessandro Forte - Introduzione ad ASP.Net 4.0
AgendaElencodegliargomentiaffrontatidurante la sessione:Project TemplatesImprovements dell’IDECode SnippetsDeploymentViewStateClientIDModeResponse.RedirectPermanent()Meta-tagsURL RoutingHTML Encoding + QueryStringCompressSession StateChartingControls2Alessandro Forte - Introduzione ad ASP.Net 4.0
Project TemplatesVS2010 contiene una serie di nuovi tipi di progetto ASP.Net: • Empty ASP.NET Web Application• ASP.NET AJAX Server Control and Server Control Extender• ASP.NET MVC 2 Web Applicatione alcune modifiche ai tipi esistenti:  • ASP.NET Web Site e ASP.NET Web ApplicationI progetti Web ASP.NET ora contengono funzionalità comuni di autenticazione e profilo, una MasterPage con un layout semplice e script jQuery.3Alessandro Forte - Introduzione ad ASP.Net 4.0
Improvements dell’IDEDiversi miglioramenti sono stati fatti anche per l'IDE e il designer: • La conformità a CSS 2.1 è stata migliorata.• Il Designer è ora più robusto e con una ridotta probabilità di riscrivere HTML (front page syndrome).• Migliore supporto per le librerie di terze parti (in particolare, jQuery).• Aumento di prestazioni quando si lavora con file JavaScript di grandi dimensioni.• Il supportodell’Intellisenseper l’utilizzodidiversi stili di codice JavaScript è stato notevolmente migliorato.• Inseritoilsupportoall’Intellisense per la registrazionedellechiamateai namespaces diASP.NET AJAX.• Il refactoring (intero) dell’IDEpermetterà, a Microsoft notevoliimprovements per una “migliore” progettazione in futuro4Alessandro Forte - Introduzione ad ASP.Net 4.0
Code SnippetsIn Default.aspx, digita“textbox” premirapidamente TAB. Visual Studio inserirà in automatico il seguente codice:<asp:TextBoxrunat="server" />Ma non è finita qui…SettaallaTextBoxl’ID “txtTest“ e premi Enter per aggiungereunanuova line.Digita“requiredfieldvalidator” e premi TAB.Visual Studio inserirà in automaticoil markup per un required field validator con la proprietàControlToValidatesettataautomaticamentealla textbox piùvicina e ilcursore con focus suErrorMessage.Questo è veramente IPERPRODUTTIVO e IPERFANTASTICO :D5Alessandro Forte - Introduzione ad ASP.Net 4.0
Code SnippetsI Web development snippets (o Code Snippets) si dividono in due tipi: ASP.NET and HTMLEsempidi snippets ASP.NET sono:hyperlink, Image, Label, panel, ecc…register, registerAscx, sm, smpEsempidi snippets HTML sono :a, br, div, img, input, ecc…In MSDN è possibile trovare la lista completa degli snippets.6Alessandro Forte - Introduzione ad ASP.Net 4.0
DeploymentVS2010 consente di:• Eseguire trasformazioni sul Web.config per diverse configurazioni di build.• Creare pacchetti Web in un file unico (file zip che contiene l'applicazione, il database e le impostazioni)• Installare l'applicazione con le relative impostazioni in un solo click (one-click publishing).Automatizzare i processi di distribuzione è una “mossa intelligente”, perché riduce gli errori, consente di risparmiare tempo e crea un processo ripetibile e auto-documentato.7Alessandro Forte - Introduzione ad ASP.Net 4.0
DeploymentWeb.configTransformationAprendoWeb.Release.config, citroveremodifronte al seguentecodice (abbreviato per facilitare la lettura):<configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"><system.web><compilation xdt:Transform="RemoveAttributes(debug)" /></system.web></configuration>Esempio di scenario reale: Immaginiamo di avere un server assegnato per gli User Acceptance Test (UAT) e abbiamo bisogno di modificare una singola impostazione, quando la nostra applicazione viene spostata dalla nostra macchina di sviluppo alla macchina dell'utente-accettazione. Problematica classica o sbaglio?La listacompletadelleopzioniditrasformazioni la trovate qui: http://msdn.microsoft.com/en-us/library/dd465326%28VS.100%29.aspx8Alessandro Forte - Introduzione ad ASP.Net 4.0
Deployment Web PackagesVS2010 permette di “boxare” la nostra applicazione in un pacchetto che contiene tutta una serie di funzionalità. Ciò che può essere incluso in un pacchetto web è:• le pagine dell'applicazione, i controlli, le immagini, CSS, i media, e così via…• GAC assemblee• componenti COM• le impostazioni di IIS• database di SQL• Certificati di sicurezza9Alessandro Forte - Introduzione ad ASP.Net 4.0
DeploymentOne-ClickPublishingLa funzionalità One-click publishing utilizzai servizi di gestione remota di IIS che consentono di pubblicare un applicazione su un server remoto con un semplice click.One-click publishing “deploya” solamente i file che sono cambiati, il che rende l’operazione anche notevolmente efficiente.  Per poter utilizzare la funzionalitàdiOne-click publishing , è necessario disporre di un hoster che supporta ilOne Click (in questomomento lo supportano solo Discount ASP eOrcsWeb) oppure, se sistadeployando verso un proprio server, è necessarioavereiservizi di gestione remota di IIS abilitati.Maggiori info su: (http://technet.microsoft.com/en-us/library/cc731771(WS.10).aspx).10Alessandro Forte - Introduzione ad ASP.Net 4.0
ViewStateIl ViewState è il meccanismo attraverso il quale ASP.NET memorizza lo stato dei controlli presenti in una WebForm. Questa informazione viene salvata in un hiddenformvalue chiamato __VIEWSTATE.Con ASP.NET 4.0, abbiamo la flessibilità di decidere le impostazioni di ViewState più consone.In particolare è stata introdotta la possibilità per i controlli di ereditare le impostazioni di ViewState dai controlli genitore utilizzando la nuova proprietà ViewStateMode.La proprietà ViewStateModeha tre impostazioni:• Enabled (ViewStateusato)• Disabled (ViewStatenon utilizzato)• Inherit (ViewStateModeè ereditato dal controllo padre)Nota: a seconda del contenuto della pagina, il ViewState può diventare abbastanza grande, e spesso è inutile per i controlli che non cambiano, come le etichette.11Alessandro Forte - Introduzione ad ASP.Net 4.0
ClientIDModeLa maggior parte delle volte , la funzionalità di generazione automatica dell’ID  di ASP.NET svolge abbastanza bene il suo lavoro, ma in alcune situazioni, per esempio, quando si lavora con MasterPage o con la scrittura di scripts lato client, è necessario avere un livello di controllo più accurato.ASP.NET 4.0 introduce a tal fine la nuovaproprietàClientIDMode.La proprietà ClientIDModedispone di quattro impostazioni:• AutoID: funzionacome le versioni precedenti di ASP.NET.• Static: consente di specificare l'ID che viene utilizzato. Attenzione: ovviamente è possibile generare ID duplicati lato client, quindi è a noi assicurare che il nostro ID è unico e che non si incorra in uno “client-side script hell” (in ognimodo un fastidioso erroreJavaScript)• Predictable: usato in combinazione con la proprietà RowClientIdSuffix per generare IDs incrementali per i “repeating controls” come DataGrid e Repeater, ad esempio, myrow1, myrow2, myrow3.• Inherit: icontrolliusano lo stessoClientIDModedel controllo padre (default).Il ClientIdModepuò essere applicato a livello di controllo, pagina, e applicazione.12Alessandro Forte - Introduzione ad ASP.Net 4.0
Response.RedirectPermanent()Response.Redirect () è un metodo frequentemente utilizzato che reindirizza la richiesta corrente ad un altro URL.Da un puntodi vista HTTP, Response.Redirect() creaun messaggio di reindirizzamento temporaneo (HTTP 302) verso il browser dell'utente. ASP.NET 4.0 ora offre un nuovo metodoResponse.RedirectPermanent() cheinveceeffettua un reindirizzamento permanente verso l’URL richiesto (HTTP 301).Perché questo?HTTP 301 è principalmente utilizzato per indicare ai motori di ricerca che dovrebbero salvare la posizione nuova pagina nei loro indici, piuttosto che dalla vecchia posizione. Ciò consente di risparmiare un round-trip inutile al server.L’utilizzodiResponse.RedirectPermanent() è molto simile aResponse.Redirect():Response.RedirectPermanent("/newpath/foroldcontent.aspx");13Alessandro Forte - Introduzione ad ASP.Net 4.0
Meta-tagsLa classe Page di ASP.NET 4.0 è dotata di due nuove proprietà che consentono di impostare le parole chiave e i Metatags che vengono generati:MetaKeywords.MetaDescription.14Alessandro Forte - Introduzione ad ASP.Net 4.0
URL RoutingIl Routing consente di mappare un URL ad un file fisico, che può o non può esistere.Perché usare questa funzione?Bene supponiamo che si stia lavorando per un negozio online che dispone di un nuovo prodotto che si trova al seguente URL:www.myshop.com/productDetail.aspx?id=34534Il Routing consente quindi di creare un URI più leggibile come ad esempio:www.myshop.com/PopularProduct/L’URL routing permette in definitiva di creare  URI più facilmente ricordabili e sicuramente molto più search engine-friendly, nascondendo la struttura interna della nostra applicazione.15Alessandro Forte - Introduzione ad ASP.Net 4.0
HTML Encoding + QueryStringASP.NET 4.0 include la nuova classe HtmlStringla quale indica che l'espressione è già correttamente codificata e non dovrebbe essere riesaminata. Ciò impedisce che valori "sicuri“possano sollevare richieste di validazione potenzialmente pericolose:<%: new HtmlString("<script>alert('I will now be run');</script>") %>In precedenza ASP.NETaccettava URL limitati ad un massimo di 260 caratteri (un vincolo NTFS).Con ASP.NET 4.0 è possibileestendere (o limitare) l'URL e  la lunghezza massima del querystring.Per modificare queste impostazioni è necessario cambiare le proprietà maxRequestPathLength e maxQueryStringLength (nella sezione HttpRuntime) del web.config: :<httpRuntimemaxQueryStringLength="260" maxRequestLength="2048"/>16Alessandro Forte - Introduzione ad ASP.Net 4.0
CompressSession StateE 'generalmente una buona regola evitare di memorizzare qualsiasi cosa in Session a meno che non sia assolutamente necessario.Se proprio si deve allora ASP.NET4.0 ci permette di comprimere lo stato della sessione.La compressionedella Session non puòessereutilizzatadaunainprocesssession e pertanto è unicamenteapplicabilenelcasodiuna State Session o diuna SQL Server Session.  Per comprimere la Session bisognasemplicementeimpostare la proprietàcompressionEnabled=true nelWeb.config:<sessionStatecompressionEnabled="true"></sessionState>La Session vienecompressautilizzandol’algoritmoGZip. E 'importante notare che la compressione della sessione richiede al server un maggior carico di lavoro e ciò potrebbe avere un impatto negativo sulle prestazioni dell'applicazione.17Alessandro Forte - Introduzione ad ASP.Net 4.0
ChartingControlsMicrosoft ha acquistato e integrato i controlli ASP.NETDundas Chart all'inizio del 2008. Questo insieme di controlli contiene più di 35 diversi tipi di grafici e una grande quantità di funzionalità.In precedenza questi controlli dovevano essere installati come add-ons e un certo numero di impostazioni dovevano essere aggiunte al Web.config.Ora ASP.NET 4.0 comprende già questi controlli, e non è più necessario apportare modifiche al web.config per utilizzarli.18Alessandro Forte - Introduzione ad ASP.Net 4.0
FINEAlessandro Forte - Introduzione ad ASP.Net 4.019

More Related Content

What's hot (20)

PDF
ASP.NET Core - Razor Pages
Andrea Dottor
 
PDF
Blazor: are we ready for the launch?
Andrea Agnoletto
 
PPTX
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Andrea Dottor
 
PDF
Blazor - i limiti sono fatti per essere superati
Commit University
 
PPTX
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
Andrea Dottor
 
PDF
Blazor per uno sviluppatore Web Form
Andrea Dottor
 
PDF
Ottimizzare WordPress su Windows/IIS
pietrobr
 
PPTX
Silverlight 4 - Community Tour (RTM)
XeDotNet
 
PPTX
Cosa c'è di nuovo in asp.net core 2 0
Andrea Dottor
 
PDF
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Andrea Dottor
 
PPTX
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Codemotion
 
PDF
Blazor ha vinto? Storie di casi reali
Andrea Dottor
 
PPTX
Il buon programmatore - consigli pratici per una vita felice
Andrea Dottor
 
PPTX
ASP.NET MVC 6 - uno sguardo al futuro
Andrea Dottor
 
PDF
Wasm and Blazor CDays keynote
Nicolò Carandini
 
PPTX
Christmas greetings cards with blazor
Nicolò Carandini
 
PDF
Dixio ForWeb, il dizionario intelligente per tuo sito web!
Semantix
 
PPTX
Rich client application: MVC4 + MVVM = Knockout.js
Giorgio Di Nardo
 
PDF
Creazione componenti con Vue js
Gianfranco Castro
 
PPTX
What's new in Asp.Net 4.5 (and WebApi)
Luca Milan
 
ASP.NET Core - Razor Pages
Andrea Dottor
 
Blazor: are we ready for the launch?
Andrea Agnoletto
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Andrea Dottor
 
Blazor - i limiti sono fatti per essere superati
Commit University
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
Andrea Dottor
 
Blazor per uno sviluppatore Web Form
Andrea Dottor
 
Ottimizzare WordPress su Windows/IIS
pietrobr
 
Silverlight 4 - Community Tour (RTM)
XeDotNet
 
Cosa c'è di nuovo in asp.net core 2 0
Andrea Dottor
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Andrea Dottor
 
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM
Codemotion
 
Blazor ha vinto? Storie di casi reali
Andrea Dottor
 
Il buon programmatore - consigli pratici per una vita felice
Andrea Dottor
 
ASP.NET MVC 6 - uno sguardo al futuro
Andrea Dottor
 
Wasm and Blazor CDays keynote
Nicolò Carandini
 
Christmas greetings cards with blazor
Nicolò Carandini
 
Dixio ForWeb, il dizionario intelligente per tuo sito web!
Semantix
 
Rich client application: MVC4 + MVVM = Knockout.js
Giorgio Di Nardo
 
Creazione componenti con Vue js
Gianfranco Castro
 
What's new in Asp.Net 4.5 (and WebApi)
Luca Milan
 

Viewers also liked (8)

PPTX
Alessandro Forte - Model View Presenter
Alessandro Forte
 
PDF
Sanitizando datos con .Net
Camilo Fernandez
 
PDF
Guía de Pruebas OWASP v2.0
RaGaZoMe
 
PDF
¿Qué son los ataques DDOS?
Enrique Rico Molina
 
PDF
Encriptacion mark
FACULTAD DE MATHEMATICAS
 
PDF
Introduccion a la OWASP Guatemala
Camilo Fernandez
 
PDF
Ataques de denegacion de servicio
Camilo Fernandez
 
PDF
The Outcome Economy
Helge Tennø
 
Alessandro Forte - Model View Presenter
Alessandro Forte
 
Sanitizando datos con .Net
Camilo Fernandez
 
Guía de Pruebas OWASP v2.0
RaGaZoMe
 
¿Qué son los ataques DDOS?
Enrique Rico Molina
 
Encriptacion mark
FACULTAD DE MATHEMATICAS
 
Introduccion a la OWASP Guatemala
Camilo Fernandez
 
Ataques de denegacion de servicio
Camilo Fernandez
 
The Outcome Economy
Helge Tennø
 
Ad

Similar to Alessandro Forte - ASP.Net 4.0 (20)

PDF
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
dotnetcode
 
PPTX
Novità di Asp.Net 4.0
Gian Maria Ricci
 
PPTX
Le novita di visual studio 2012
Crismer La Pignola
 
PPTX
Asp.net 4 Community Tour VS2010
Fabrizio Bernabei
 
PPTX
Cert03 70-486 developing asp.net mvc 4 web applications
DotNetCampus
 
PPTX
Introduzione ad ASP.NET Core
Andrea Dottor
 
PPTX
Oltre il Worker Role, da Serverless computing a VM Scale Set
Vito Flavio Lorusso
 
PPTX
Asp.net web form 4.5 - what's new!!
Massimo Bonanni
 
PDF
ASP.NET Core essentials
Andrea Saltarello
 
PPTX
Sviluppare Azure Web Apps
Andrea Dottor
 
PPTX
Blazor with .net 5 - di Gerardo Greco
Giuneco S.r.l
 
PPTX
Webcast - Introduzione a Visual Studio Online
Davide Benvegnù
 
PPTX
.NET Core, ASP.NET Core e Linux per il Mobile
Pietro Libro
 
PPTX
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
Codemotion
 
PPTX
Windows azure - abbattere tempi e costi di sviluppo
Andrea Dottor
 
PPTX
Integrazione continua con TFS Build
Gian Maria Ricci
 
PPTX
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
Marco Parenzan
 
PPTX
Meetup Fluent Design e Progressive Web App
dotnetcode
 
PPTX
Tfs Basic - Quick Intro
Gian Maria Ricci
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
dotnetcode
 
Novità di Asp.Net 4.0
Gian Maria Ricci
 
Le novita di visual studio 2012
Crismer La Pignola
 
Asp.net 4 Community Tour VS2010
Fabrizio Bernabei
 
Cert03 70-486 developing asp.net mvc 4 web applications
DotNetCampus
 
Introduzione ad ASP.NET Core
Andrea Dottor
 
Oltre il Worker Role, da Serverless computing a VM Scale Set
Vito Flavio Lorusso
 
Asp.net web form 4.5 - what's new!!
Massimo Bonanni
 
ASP.NET Core essentials
Andrea Saltarello
 
Sviluppare Azure Web Apps
Andrea Dottor
 
Blazor with .net 5 - di Gerardo Greco
Giuneco S.r.l
 
Webcast - Introduzione a Visual Studio Online
Davide Benvegnù
 
.NET Core, ASP.NET Core e Linux per il Mobile
Pietro Libro
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
Codemotion
 
Windows azure - abbattere tempi e costi di sviluppo
Andrea Dottor
 
Integrazione continua con TFS Build
Gian Maria Ricci
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
Marco Parenzan
 
Meetup Fluent Design e Progressive Web App
dotnetcode
 
Tfs Basic - Quick Intro
Gian Maria Ricci
 
Ad

More from Alessandro Forte (6)

PDF
ORM - Introduzione
Alessandro Forte
 
PPTX
Alessandro Forte - ASP.NET per il client Web
Alessandro Forte
 
PPTX
Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte
 
PPTX
Alessandro Forte - Windows Vista 4 Dev - Parte 2
Alessandro Forte
 
PPTX
Alessandro Forte - MVP vs MVC
Alessandro Forte
 
PPTX
Alessandro Forte - Piattaforma Android
Alessandro Forte
 
ORM - Introduzione
Alessandro Forte
 
Alessandro Forte - ASP.NET per il client Web
Alessandro Forte
 
Alessandro Forte - Windows Vista 4 Dev - Parte 1
Alessandro Forte
 
Alessandro Forte - Windows Vista 4 Dev - Parte 2
Alessandro Forte
 
Alessandro Forte - MVP vs MVC
Alessandro Forte
 
Alessandro Forte - Piattaforma Android
Alessandro Forte
 

Alessandro Forte - ASP.Net 4.0

  • 1. Introduzione ad ASP.NET 4.0Alessandro Forte“Audaces .NET iuvat”( .NET aiuta gli audaci  )1Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 2. AgendaElencodegliargomentiaffrontatidurante la sessione:Project TemplatesImprovements dell’IDECode SnippetsDeploymentViewStateClientIDModeResponse.RedirectPermanent()Meta-tagsURL RoutingHTML Encoding + QueryStringCompressSession StateChartingControls2Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 3. Project TemplatesVS2010 contiene una serie di nuovi tipi di progetto ASP.Net: • Empty ASP.NET Web Application• ASP.NET AJAX Server Control and Server Control Extender• ASP.NET MVC 2 Web Applicatione alcune modifiche ai tipi esistenti:  • ASP.NET Web Site e ASP.NET Web ApplicationI progetti Web ASP.NET ora contengono funzionalità comuni di autenticazione e profilo, una MasterPage con un layout semplice e script jQuery.3Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 4. Improvements dell’IDEDiversi miglioramenti sono stati fatti anche per l'IDE e il designer: • La conformità a CSS 2.1 è stata migliorata.• Il Designer è ora più robusto e con una ridotta probabilità di riscrivere HTML (front page syndrome).• Migliore supporto per le librerie di terze parti (in particolare, jQuery).• Aumento di prestazioni quando si lavora con file JavaScript di grandi dimensioni.• Il supportodell’Intellisenseper l’utilizzodidiversi stili di codice JavaScript è stato notevolmente migliorato.• Inseritoilsupportoall’Intellisense per la registrazionedellechiamateai namespaces diASP.NET AJAX.• Il refactoring (intero) dell’IDEpermetterà, a Microsoft notevoliimprovements per una “migliore” progettazione in futuro4Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 5. Code SnippetsIn Default.aspx, digita“textbox” premirapidamente TAB. Visual Studio inserirà in automatico il seguente codice:<asp:TextBoxrunat="server" />Ma non è finita qui…SettaallaTextBoxl’ID “txtTest“ e premi Enter per aggiungereunanuova line.Digita“requiredfieldvalidator” e premi TAB.Visual Studio inserirà in automaticoil markup per un required field validator con la proprietàControlToValidatesettataautomaticamentealla textbox piùvicina e ilcursore con focus suErrorMessage.Questo è veramente IPERPRODUTTIVO e IPERFANTASTICO :D5Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 6. Code SnippetsI Web development snippets (o Code Snippets) si dividono in due tipi: ASP.NET and HTMLEsempidi snippets ASP.NET sono:hyperlink, Image, Label, panel, ecc…register, registerAscx, sm, smpEsempidi snippets HTML sono :a, br, div, img, input, ecc…In MSDN è possibile trovare la lista completa degli snippets.6Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 7. DeploymentVS2010 consente di:• Eseguire trasformazioni sul Web.config per diverse configurazioni di build.• Creare pacchetti Web in un file unico (file zip che contiene l'applicazione, il database e le impostazioni)• Installare l'applicazione con le relative impostazioni in un solo click (one-click publishing).Automatizzare i processi di distribuzione è una “mossa intelligente”, perché riduce gli errori, consente di risparmiare tempo e crea un processo ripetibile e auto-documentato.7Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 8. DeploymentWeb.configTransformationAprendoWeb.Release.config, citroveremodifronte al seguentecodice (abbreviato per facilitare la lettura):<configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"><system.web><compilation xdt:Transform="RemoveAttributes(debug)" /></system.web></configuration>Esempio di scenario reale: Immaginiamo di avere un server assegnato per gli User Acceptance Test (UAT) e abbiamo bisogno di modificare una singola impostazione, quando la nostra applicazione viene spostata dalla nostra macchina di sviluppo alla macchina dell'utente-accettazione. Problematica classica o sbaglio?La listacompletadelleopzioniditrasformazioni la trovate qui: http://msdn.microsoft.com/en-us/library/dd465326%28VS.100%29.aspx8Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 9. Deployment Web PackagesVS2010 permette di “boxare” la nostra applicazione in un pacchetto che contiene tutta una serie di funzionalità. Ciò che può essere incluso in un pacchetto web è:• le pagine dell'applicazione, i controlli, le immagini, CSS, i media, e così via…• GAC assemblee• componenti COM• le impostazioni di IIS• database di SQL• Certificati di sicurezza9Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 10. DeploymentOne-ClickPublishingLa funzionalità One-click publishing utilizzai servizi di gestione remota di IIS che consentono di pubblicare un applicazione su un server remoto con un semplice click.One-click publishing “deploya” solamente i file che sono cambiati, il che rende l’operazione anche notevolmente efficiente.  Per poter utilizzare la funzionalitàdiOne-click publishing , è necessario disporre di un hoster che supporta ilOne Click (in questomomento lo supportano solo Discount ASP eOrcsWeb) oppure, se sistadeployando verso un proprio server, è necessarioavereiservizi di gestione remota di IIS abilitati.Maggiori info su: (http://technet.microsoft.com/en-us/library/cc731771(WS.10).aspx).10Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 11. ViewStateIl ViewState è il meccanismo attraverso il quale ASP.NET memorizza lo stato dei controlli presenti in una WebForm. Questa informazione viene salvata in un hiddenformvalue chiamato __VIEWSTATE.Con ASP.NET 4.0, abbiamo la flessibilità di decidere le impostazioni di ViewState più consone.In particolare è stata introdotta la possibilità per i controlli di ereditare le impostazioni di ViewState dai controlli genitore utilizzando la nuova proprietà ViewStateMode.La proprietà ViewStateModeha tre impostazioni:• Enabled (ViewStateusato)• Disabled (ViewStatenon utilizzato)• Inherit (ViewStateModeè ereditato dal controllo padre)Nota: a seconda del contenuto della pagina, il ViewState può diventare abbastanza grande, e spesso è inutile per i controlli che non cambiano, come le etichette.11Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 12. ClientIDModeLa maggior parte delle volte , la funzionalità di generazione automatica dell’ID di ASP.NET svolge abbastanza bene il suo lavoro, ma in alcune situazioni, per esempio, quando si lavora con MasterPage o con la scrittura di scripts lato client, è necessario avere un livello di controllo più accurato.ASP.NET 4.0 introduce a tal fine la nuovaproprietàClientIDMode.La proprietà ClientIDModedispone di quattro impostazioni:• AutoID: funzionacome le versioni precedenti di ASP.NET.• Static: consente di specificare l'ID che viene utilizzato. Attenzione: ovviamente è possibile generare ID duplicati lato client, quindi è a noi assicurare che il nostro ID è unico e che non si incorra in uno “client-side script hell” (in ognimodo un fastidioso erroreJavaScript)• Predictable: usato in combinazione con la proprietà RowClientIdSuffix per generare IDs incrementali per i “repeating controls” come DataGrid e Repeater, ad esempio, myrow1, myrow2, myrow3.• Inherit: icontrolliusano lo stessoClientIDModedel controllo padre (default).Il ClientIdModepuò essere applicato a livello di controllo, pagina, e applicazione.12Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 13. Response.RedirectPermanent()Response.Redirect () è un metodo frequentemente utilizzato che reindirizza la richiesta corrente ad un altro URL.Da un puntodi vista HTTP, Response.Redirect() creaun messaggio di reindirizzamento temporaneo (HTTP 302) verso il browser dell'utente. ASP.NET 4.0 ora offre un nuovo metodoResponse.RedirectPermanent() cheinveceeffettua un reindirizzamento permanente verso l’URL richiesto (HTTP 301).Perché questo?HTTP 301 è principalmente utilizzato per indicare ai motori di ricerca che dovrebbero salvare la posizione nuova pagina nei loro indici, piuttosto che dalla vecchia posizione. Ciò consente di risparmiare un round-trip inutile al server.L’utilizzodiResponse.RedirectPermanent() è molto simile aResponse.Redirect():Response.RedirectPermanent("/newpath/foroldcontent.aspx");13Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 14. Meta-tagsLa classe Page di ASP.NET 4.0 è dotata di due nuove proprietà che consentono di impostare le parole chiave e i Metatags che vengono generati:MetaKeywords.MetaDescription.14Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 15. URL RoutingIl Routing consente di mappare un URL ad un file fisico, che può o non può esistere.Perché usare questa funzione?Bene supponiamo che si stia lavorando per un negozio online che dispone di un nuovo prodotto che si trova al seguente URL:www.myshop.com/productDetail.aspx?id=34534Il Routing consente quindi di creare un URI più leggibile come ad esempio:www.myshop.com/PopularProduct/L’URL routing permette in definitiva di creare URI più facilmente ricordabili e sicuramente molto più search engine-friendly, nascondendo la struttura interna della nostra applicazione.15Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 16. HTML Encoding + QueryStringASP.NET 4.0 include la nuova classe HtmlStringla quale indica che l'espressione è già correttamente codificata e non dovrebbe essere riesaminata. Ciò impedisce che valori "sicuri“possano sollevare richieste di validazione potenzialmente pericolose:<%: new HtmlString("<script>alert('I will now be run');</script>") %>In precedenza ASP.NETaccettava URL limitati ad un massimo di 260 caratteri (un vincolo NTFS).Con ASP.NET 4.0 è possibileestendere (o limitare) l'URL e la lunghezza massima del querystring.Per modificare queste impostazioni è necessario cambiare le proprietà maxRequestPathLength e maxQueryStringLength (nella sezione HttpRuntime) del web.config: :<httpRuntimemaxQueryStringLength="260" maxRequestLength="2048"/>16Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 17. CompressSession StateE 'generalmente una buona regola evitare di memorizzare qualsiasi cosa in Session a meno che non sia assolutamente necessario.Se proprio si deve allora ASP.NET4.0 ci permette di comprimere lo stato della sessione.La compressionedella Session non puòessereutilizzatadaunainprocesssession e pertanto è unicamenteapplicabilenelcasodiuna State Session o diuna SQL Server Session. Per comprimere la Session bisognasemplicementeimpostare la proprietàcompressionEnabled=true nelWeb.config:<sessionStatecompressionEnabled="true"></sessionState>La Session vienecompressautilizzandol’algoritmoGZip. E 'importante notare che la compressione della sessione richiede al server un maggior carico di lavoro e ciò potrebbe avere un impatto negativo sulle prestazioni dell'applicazione.17Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 18. ChartingControlsMicrosoft ha acquistato e integrato i controlli ASP.NETDundas Chart all'inizio del 2008. Questo insieme di controlli contiene più di 35 diversi tipi di grafici e una grande quantità di funzionalità.In precedenza questi controlli dovevano essere installati come add-ons e un certo numero di impostazioni dovevano essere aggiunte al Web.config.Ora ASP.NET 4.0 comprende già questi controlli, e non è più necessario apportare modifiche al web.config per utilizzarli.18Alessandro Forte - Introduzione ad ASP.Net 4.0
  • 19. FINEAlessandro Forte - Introduzione ad ASP.Net 4.019