ASP.NET WebForm 4.5: whats          new!!         Massimo Bonanni       http://codetailor.blogspot.com    massimo.bonanni@...
Web@WorkAgenda Moduli ed Handler asincroni Lazy Request validation Anti-Cross Site Scripting Bundling e Minification Data ...
Moduli e Handler asincroni:      Web@Workperché?Ogni chiamata ad unarisorsa Web è gestita da unthread.Il thread è occupato...
Web@WorkModuli asincroniIn un moduloasincrono il thread cheprende in carico larichiesta non è dettosia il thread che lapor...
Web@WorkModuli asincroniLa chiave di volta per ottenere l’asincronicitàdei moduli è l’introduzione della parolachiave Asyn...
Web@WorkHandler asincroniAnche per gli Handler vale ildiscorso fatto per i Moduli.Se liberiamo il thread che hain carico l...
Web@WorkHandler asincroniPer implementare un Handler asincrono siutilizza la classe baseHttpTaskAsyncHandler anzichéimplem...
Web@WorkDemo       Moduli ed        Handler       Asincroni
Web@WorkLazy Request ValidationASP.NET verifica header, forms, querystring ecookie ad ogni richiesta.Se viene trovato un c...
Web@WorkLazy Request ValidationASP.NET 4.5 introduce la Lazy RequestValidation:•       Si attiva nel web.config:          ...
Web@WorkDemo         Lazy       Request       Validatio           n
Web@WorkAnti-Cross Site Scripting (AntiXSS)ASP.NET 4.5 integra nativamente la libreriaAnti-Cross Site Scripting (AntiXSS)I...
Web@WorkAnti-Cross Site Scripting (AntiXSS)La libreria non è attiva di default (è attiva neinuovi progetti) e si può attiv...
Web@WorkDemo       AntiXSS       Library
Web@WorkBundling e MinificationUna pagina web può avere diversi file CSSe Javascript.Ogni file è una richiesta al server.L...
Web@WorkBundling e MinificationUn file CSS o Javascript, oltre cheinformazioni utili allo scopo (classi di stile eistruzio...
Web@WorkBundling e MinificationBundling e Minification assieme riduconoil numero di richieste al server e la quantitàdi da...
Web@WorkBundling e MinificationLe classi deputate alle funzionalità diBundling e Minification sono contenutenell’assembly ...
Web@WorkDemo       Bundling           &       Minificatio           n
Web@WorkData Control tipizzatiNo More <%#Eval("ID")%> !!!!Le stringhe vanno evitate comela peste perché eventuali erroriap...
Web@WorkData Control tipizzatiNuovi controlli tipizzati:<asp:Repeater ModelType="Customer"…>     <ItemTemplate>           ...
Web@WorkModel BindingE’ stato introdotto il concetto di ModelBinding:  • possiamo legare la nostra Web Form ad un    model...
Web@WorkDemo       Data Control            &          Model         Binding
Web@WorkUnobtrusive validationASP.NET 4.5 introduce i validatorunobtrusive stile MVC anche per le WebForm.Il javascript ge...
Web@WorkUnobtrusive validationI nuovi validator fanno uso degli attributi custom HTML"data-".Nei progetti ASP.NET 4.5 veng...
Web@WorkDemo       Unobtrusi           ve       Validation
Web@WorkDulcis in fundoI controlli nativi HTML5 (ad esempio il <video>)hanno la controparte serverIl controllo TextBox ha ...
Web@WorkQ&A
Web@WorkGrazie agli sponsor
Upcoming SlideShare
Loading in …5
×

Asp.net web form 4.5 - what's new!!

3,559
-1

Published on

Slide della sessione "ASP.NET Web Form 4.5: what's new!!!" tenuta da Massimo Bonanni all'evento "Web@Work" di DomusDotNet il 14 Dicembre 2012

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,559
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Asp.net web form 4.5 - what's new!!

  1. 1. ASP.NET WebForm 4.5: whats new!! Massimo Bonanni http://codetailor.blogspot.com massimo.bonanni@domusdotnet.org @massimobonanni Web@Work
  2. 2. Web@WorkAgenda Moduli ed Handler asincroni Lazy Request validation Anti-Cross Site Scripting Bundling e Minification Data Control tipizzati e Model Binding Unobtrusive validation …..dulcis in fundo
  3. 3. Moduli e Handler asincroni: Web@Workperché?Ogni chiamata ad unarisorsa Web è gestita da unthread.Il thread è occupato fino ache la richiesta non èservita.Il numero di thread adisposizione dell’applicationpool è limitato.Le performance possonodegradare rapidamenteall’aumentare delle richieste.
  4. 4. Web@WorkModuli asincroniIn un moduloasincrono il thread cheprende in carico larichiesta non è dettosia il thread che laporta a compimento.In questo modo ithread vengono prestorilasciati e la scalabilitàmigliore
  5. 5. Web@WorkModuli asincroniLa chiave di volta per ottenere l’asincronicitàdei moduli è l’introduzione della parolachiave Async e dell’operatore Await.Si realizza un normale HttpModuleASP.NET e si utilizza laEventHandlerAsyncHelper per lasottoscrizione degli eventi.
  6. 6. Web@WorkHandler asincroniAnche per gli Handler vale ildiscorso fatto per i Moduli.Se liberiamo il thread che hain carico la richiestadell’handler, otteniamoscalabilità!!!
  7. 7. Web@WorkHandler asincroniPer implementare un Handler asincrono siutilizza la classe baseHttpTaskAsyncHandler anzichéimplementare l’interfaccia IHttpHandler.Eseguiamo l’override del metodoProcessRequestAsync (che, guarda casoritorna un task ) ed il gioco è fatto!
  8. 8. Web@WorkDemo Moduli ed Handler Asincroni
  9. 9. Web@WorkLazy Request ValidationASP.NET verifica header, forms, querystring ecookie ad ogni richiesta.Se viene trovato un contenuto potenzialmentepericoloso…….
  10. 10. Web@WorkLazy Request ValidationASP.NET 4.5 introduce la Lazy RequestValidation:• Si attiva nel web.config: <httpRuntime requestValidationMode="4.5" />• ASP.NET controlla i dati solo quando effettivamente li richiediamo. • Request.Form("ID") non fa scattare il controllo su tutti i valori della collection Form• Da usare con cautela, se abusato può provocare catastrofi!!! 
  11. 11. Web@WorkDemo Lazy Request Validatio n
  12. 12. Web@WorkAnti-Cross Site Scripting (AntiXSS)ASP.NET 4.5 integra nativamente la libreriaAnti-Cross Site Scripting (AntiXSS)Il Cross Site Scripting è una vulnerabilitàche si può riscontrare nei siti web e chefavorisce gli attacchi in cui si inietta delcodice client-side pericoloso.La libreria AntiXSS aiuta nello scongiurare lavulnerabilità da Cross Site Scripting
  13. 13. Web@WorkAnti-Cross Site Scripting (AntiXSS)La libreria non è attiva di default (è attiva neinuovi progetti) e si può attivare con<httpRuntimeencoderType="System.Web.Security.AntiXss.AntiXssEncoder" />Mette a disposizione una serie di metodi perencodare stringhe per diversi ambiti (HTML,CSS, Url, XML, etc., etc.,
  14. 14. Web@WorkDemo AntiXSS Library
  15. 15. Web@WorkBundling e MinificationUna pagina web può avere diversi file CSSe Javascript.Ogni file è una richiesta al server.La pagina non può essere renderizzata finoa che non sono disponibili tutti i file.Il Bundling consente di combinare assiemepiù files in un’unica richiesta.
  16. 16. Web@WorkBundling e MinificationUn file CSS o Javascript, oltre cheinformazioni utili allo scopo (classi di stile eistruzioni) contiene caratteri inutili (spazi,ritorni a capo, etc., etc.) che occupanospazio e banda.La funzione di Minification compatta ilcontenuto di un file togliendo ciò che nonserve allo scopo.
  17. 17. Web@WorkBundling e MinificationBundling e Minification assieme riduconoil numero di richieste al server e la quantitàdi dati che transitano rendendo più veloce larisposta del browserLe due funzionalità sono presenti, «diserie», in ASP.NET 4.5 (sia Web Form cheMVC).
  18. 18. Web@WorkBundling e MinificationLe classi deputate alle funzionalità diBundling e Minification sono contenutenell’assembly Microsoft.Web.Optimization.dlle disponibili tramite NuGet.
  19. 19. Web@WorkDemo Bundling & Minificatio n
  20. 20. Web@WorkData Control tipizzatiNo More <%#Eval("ID")%> !!!!Le stringhe vanno evitate comela peste perché eventuali erroriappaiono solo a runtime!!!
  21. 21. Web@WorkData Control tipizzatiNuovi controlli tipizzati:<asp:Repeater ModelType="Customer"…> <ItemTemplate> <%#Item.ID%> </ItemTemplate></asp:Repeater>Nel binding Two-Way usiamo BindItemanziché Item.
  22. 22. Web@WorkModel BindingE’ stato introdotto il concetto di ModelBinding: • possiamo legare la nostra Web Form ad un modello (in stile MVC).Il model binding lavora con IQueryable(Of T) • Ordinamento e paginazione • Se si usa EF, viene generata ad hoc la query
  23. 23. Web@WorkDemo Data Control & Model Binding
  24. 24. Web@WorkUnobtrusive validationASP.NET 4.5 introduce i validatorunobtrusive stile MVC anche per le WebForm.Il javascript generato dai validatori ASP.NET≤4.0 non è mai stato aggiornato ed èdecisamente vetusto!!Nella nuova versione meno javascript dascaricare!!!
  25. 25. Web@WorkUnobtrusive validationI nuovi validator fanno uso degli attributi custom HTML"data-".Nei progetti ASP.NET 4.5 vengono sempre utilizzati inuovi validatori.Nei progetti ASP.NET <4.5, si attivano con:• Globalmente, nel web.config:<add name="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />• Sulla singola pagina impostando la proprietà Page.UnobtrusiveValidationMode su UnobtrusiveValidationMode.WebForm
  26. 26. Web@WorkDemo Unobtrusi ve Validation
  27. 27. Web@WorkDulcis in fundoI controlli nativi HTML5 (ad esempio il <video>)hanno la controparte serverIl controllo TextBox ha una proprietà TextModeper gestire i nuovi tipi di input HTML5: <asp:TextBox runat="server" TextMode="Email" />Lo schema di default di una pagina creata conVS è quello di HTML5: <!DOCTYPE html>
  28. 28. Web@WorkQ&A
  29. 29. Web@WorkGrazie agli sponsor
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×