Successfully reported this slideshow.
Your SlideShare is downloading. ×

Alessandro Forte - ASP.Net 4.0

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 19 Ad

More Related Content

Slideshows for you (20)

Advertisement

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

Advertisement

Recently uploaded (20)

Alessandro Forte - ASP.Net 4.0

  1. 1. Introduzione ad ASP.NET 4.0<br />Alessandro Forte<br />“Audaces .NET iuvat”( .NET aiuta gli audaci  )<br />1<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  2. 2. Agenda<br />Elencodegliargomentiaffrontatidurante la sessione:<br />Project Templates<br />Improvements dell’IDE<br />Code Snippets<br />Deployment<br />ViewState<br />ClientIDMode<br />Response.RedirectPermanent()<br />Meta-tags<br />URL Routing<br />HTML Encoding + QueryString<br />CompressSession State<br />ChartingControls<br />2<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  3. 3. Project Templates<br />VS2010 contiene una serie di nuovi tipi di progetto ASP.Net: <br />• Empty ASP.NET Web Application<br />• ASP.NET AJAX Server Control and Server Control Extender<br />• ASP.NET MVC 2 Web Application<br />e alcune modifiche ai tipi esistenti:  <br />• ASP.NET Web Site e ASP.NET Web Application<br />I progetti Web ASP.NET ora contengono funzionalità comuni di autenticazione e profilo, una MasterPage con un layout semplice e script jQuery.<br />3<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  4. 4. Improvements dell’IDE<br />Diversi miglioramenti sono stati fatti anche per l'IDE e il designer: <br />• La conformità a CSS 2.1 è stata migliorata.<br />• Il Designer è ora più robusto e con una ridotta probabilità di riscrivere HTML (front page syndrome).<br />• Migliore supporto per le librerie di terze parti (in particolare, jQuery).<br />• Aumento di prestazioni quando si lavora con file JavaScript di grandi dimensioni.<br />• Il supportodell’Intellisenseper l’utilizzodidiversi stili di codice JavaScript è stato notevolmente migliorato.<br />• Inseritoilsupportoall’Intellisense per la registrazionedellechiamateai namespaces diASP.NET AJAX.<br />• Il refactoring (intero) dell’IDEpermetterà, a Microsoft notevoliimprovements per una “migliore” progettazione in futuro<br />4<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  5. 5. Code Snippets<br />In Default.aspx, digita“textbox” premirapidamente TAB. <br />Visual Studio inserirà in automatico il seguente codice:<br /><asp:TextBoxrunat="server" /><br />Ma non è finita qui…<br />SettaallaTextBoxl’ID “txtTest“ e premi Enter per aggiungereunanuova line.<br />Digita“requiredfieldvalidator” e premi TAB.<br />Visual Studio inserirà in automaticoil markup per un required field validator con la proprietàControlToValidatesettataautomaticamentealla textbox piùvicina e ilcursore con focus suErrorMessage.<br />Questo è veramente IPERPRODUTTIVO e IPERFANTASTICO :D<br />5<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  6. 6. Code Snippets<br />I Web development snippets (o Code Snippets) si dividono in due tipi: ASP.NET and HTML<br />Esempidi snippets ASP.NET sono:<br />hyperlink, Image, Label, panel, ecc…<br />register, registerAscx, sm, smp<br />Esempidi snippets HTML sono :<br />a, br, div, img, input, ecc…<br />In MSDN è possibile trovare la lista completa degli snippets.<br />6<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  7. 7. Deployment<br />VS2010 consente di:<br />• Eseguire trasformazioni sul Web.config per diverse configurazioni di build.<br />• Creare pacchetti Web in un file unico (file zip che contiene l'applicazione, il database e le impostazioni)<br />• Installare l'applicazione con le relative impostazioni in un solo click (one-click publishing).<br />Automatizzare i processi di distribuzione è una “mossa intelligente”, perché riduce gli errori, consente di risparmiare tempo e crea un processo ripetibile e auto-documentato.<br />7<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  8. 8. DeploymentWeb.configTransformation<br />AprendoWeb.Release.config, citroveremodifronte al seguentecodice (abbreviato per facilitare la lettura):<br /><configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"><br /><system.web><br /><compilation xdt:Transform="RemoveAttributes(debug)" /><br /></system.web><br /></configuration><br />Esempio di scenario reale:<br /> 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?<br />La listacompletadelleopzioniditrasformazioni la trovate qui: http://msdn.microsoft.com/en-us/library/dd465326%28VS.100%29.aspx<br />8<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  9. 9. Deployment Web Packages<br />VS2010 permette di “boxare” la nostra applicazione in un pacchetto che contiene tutta una serie di funzionalità. <br />Ciò che può essere incluso in un pacchetto web è:<br />• le pagine dell'applicazione, i controlli, le immagini, CSS, i media, e così via…<br />• GAC assemblee<br />• componenti COM<br />• le impostazioni di IIS<br />• database di SQL<br />• Certificati di sicurezza<br />9<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  10. 10. DeploymentOne-ClickPublishing<br />La 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.<br />One-click publishing “deploya” solamente i file che sono cambiati, il che rende l’operazione anche notevolmente efficiente. <br /> 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.<br />Maggiori info su: (http://technet.microsoft.com/en-us/library/cc731771(WS.10).aspx).<br />10<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  11. 11. ViewState<br />Il 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.<br />Con ASP.NET 4.0, abbiamo la flessibilità di decidere le impostazioni di ViewState più consone.<br />In particolare è stata introdotta la possibilità per i controlli di ereditare le impostazioni di ViewState dai controlli genitore utilizzando la nuova proprietà ViewStateMode.<br />La proprietà ViewStateModeha tre impostazioni:<br />• Enabled (ViewStateusato)<br />• Disabled (ViewStatenon utilizzato)<br />• Inherit (ViewStateModeè ereditato dal controllo padre)<br />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.<br />11<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  12. 12. ClientIDMode<br />La 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.<br />ASP.NET 4.0 introduce a tal fine la nuovaproprietàClientIDMode.<br />La proprietà ClientIDModedispone di quattro impostazioni:<br />• AutoID: funzionacome le versioni precedenti di ASP.NET.<br />• 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)<br />• 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.<br />• Inherit: icontrolliusano lo stessoClientIDModedel controllo padre (default).<br />Il ClientIdModepuò essere applicato a livello di controllo, pagina, e applicazione.<br />12<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  13. 13. Response.RedirectPermanent()<br />Response.Redirect () è un metodo frequentemente utilizzato che reindirizza la richiesta corrente ad un altro URL.<br />Da un puntodi vista HTTP, Response.Redirect() creaun messaggio di reindirizzamento temporaneo (HTTP 302) verso il browser dell'utente. <br />ASP.NET 4.0 ora offre un nuovo metodoResponse.RedirectPermanent() cheinveceeffettua un reindirizzamento permanente verso l’URL richiesto (HTTP 301).<br />Perché questo?<br />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.<br />L’utilizzodiResponse.RedirectPermanent() è molto simile aResponse.Redirect():<br />Response.RedirectPermanent("/newpath/foroldcontent.aspx");<br />13<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  14. 14. Meta-tags<br />La 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:<br />MetaKeywords.<br />MetaDescription.<br />14<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  15. 15. URL Routing<br />Il Routing consente di mappare un URL ad un file fisico, che può o non può esistere.<br />Perché usare questa funzione?<br />Bene supponiamo che si stia lavorando per un negozio online che dispone di un nuovo prodotto che si trova al seguente URL:<br />www.myshop.com/productDetail.aspx?id=34534<br />Il Routing consente quindi di creare un URI più leggibile come ad esempio:<br />www.myshop.com/PopularProduct/<br />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.<br />15<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  16. 16. HTML Encoding + QueryString<br />ASP.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:<br /><%: new HtmlString("<script>alert('I will now be run');</script>") %><br />In precedenza ASP.NETaccettava URL limitati ad un massimo di 260 caratteri (un vincolo NTFS).<br />Con ASP.NET 4.0 è possibileestendere (o limitare) l'URL e la lunghezza massima del querystring.<br />Per modificare queste impostazioni è necessario cambiare le proprietà maxRequestPathLength e maxQueryStringLength (nella sezione HttpRuntime) del web.config: :<br /><httpRuntimemaxQueryStringLength="260" maxRequestLength="2048"/><br />16<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  17. 17. CompressSession State<br />E 'generalmente una buona regola evitare di memorizzare qualsiasi cosa in Session a meno che non sia assolutamente necessario.<br />Se proprio si deve allora ASP.NET4.0 ci permette di comprimere lo stato della sessione.<br />La compressionedella Session non puòessereutilizzatadaunainprocesssession e pertanto è unicamenteapplicabilenelcasodiuna State Session o diuna SQL Server Session. <br />Per comprimere la Session bisognasemplicementeimpostare la proprietàcompressionEnabled=true nelWeb.config:<br /><sessionStatecompressionEnabled="true"></sessionState><br />La Session vienecompressautilizzandol’algoritmoGZip. <br />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.<br />17<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  18. 18. ChartingControls<br />Microsoft 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à.<br />In precedenza questi controlli dovevano essere installati come add-ons e un certo numero di impostazioni dovevano essere aggiunte al Web.config.<br />Ora ASP.NET 4.0 comprende già questi controlli, e non è più necessario apportare modifiche al web.config per utilizzarli.<br />18<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />
  19. 19. FINE<br />Alessandro Forte - Introduzione ad ASP.Net 4.0<br />19<br />

×