Your SlideShare is downloading. ×
0
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

What's New in ASP.NET 4.5 and Visual Studio 2012

2,893

Published on

Slide e codice lo potete trovare a questo link: …

Slide e codice lo potete trovare a questo link:
http://blog.dottor.net/post/2012/09/18/Codice-e-slide-della-sessione-Whats-New-in-ASPNET-45-and-Visual-Studio-2012.aspx

Il Microsoft .NET Framework è in continua evoluzione, e con la prossima versione verranno rilasciate interessanti funzionalità riguardanti ASP.NET.All'interno di questa sessione conosceremo tutte queste novità, ed andremo invece più in dettaglio in alcune di esse, permettendo a chi conosce già ASP.NET di poter essere più produttivo (Strongly Typed Data Controls, Model Binding, Asynchronous, WebSocket, ... ), mentre, per chi invece non ha molta esperienza con questa tecnologia, potrà vedere come i nuovi template di progetto e Visual Studio 2012 potranno aiutarlo ad approcciare correttamente queste tipologie di applicazioni.

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

  • Be the first to like this

No Downloads
Views
Total Views
2,893
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
37
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • WAI-ARIA = Web Accessibility Initiative - Accessible Rich Internet Applications
  • Transcript

    • 1. Whats New in ASP.NET 4.5 and Visual Studio 2012 • Andrea Dottor – Microsoft MVP ASP.NET/IIS
    • 2. Contatti o Feedback su: • http://xedotnet.org/feedback Email: andrea@dottor.net Blog: http://blog.dottor.net Twitter: http://twitter.com/dottorfeedback 10
    • 3. Agenda Visual Studio 2012 Editor ASP.NET 4.5 WebForm Security Performance ASP.NET 4.5 MVC 4 (nel parleremo nel meeting «Sviluppo di applicazioni mobile con ASP.NET MVC 4»)3
    • 4. Visual Studio 2012 ASP.NET Editor
    • 5. HTML Editor – cosa c’è di nuovo? Supporto ad HTML5 Migliorato intellisense Maggiori snippet Pieno supporto agli attributi WAI-ARIA Smart Tag anche in modalità source Generazione automatica degli Event handler Extract to user control5
    • 6. CSS Editor – cosa c’è di nuovo? Introduzione degli snippet Intellisense anche nella creazione dei selettori Color picker Supporto ai commenti (da shortcuts) Vendor specific schemas Indentazione gerarchica6
    • 7. JavaScript Editor – cosa c’è di nuovo? Migliorato intellisense Intellisense filtrato a seconda del contesto, del tipo di dato, ... DOM Intellisense, aggiunto supporto ad HTML5 Intellisense abilitato in tutti i file javascript, centralizzando i /// <reference /> in un’unico file VSDOC signature overloads Aggiunta la funzionalità Go to Definition7
    • 8. Page Inspector Apre il website all’interno di visual studio Fornisce funzionalità simili alla Developer Toolbar Analisi dell’HTML della pagina Analisi del singolo elemento nel DOM della pagina Visione degli stili applicati Permette di capire quale controllo/codice abbia generato l’HTML Permette di trovare il sorgente di un preciso stile CSS8
    • 9. ASP.NET 4.5 WebForm
    • 10. Strongly Typed Data Controls Permette di avere l’intellisense per specificare i campi da porre in binding Nei Data Control è stata aggiunta una proprietà ItemType dove specificare il tipo di dato in binding Item.* e BindItem.* per specificare le proprietà in binding <asp:FormView runat="server" ID="editCustomer" ItemType="Dottor.SampleApplication.Employee"> <EditItemTemplate> <div> <asp:TextBox ID="firstName" runat="server" Text=<%# BindItem.FirstName %> /> </div> <div> <asp:TextBox ID="lastName" runat="server" =<%# BindItem.LastName %> /> </div> <asp:Button runat="server" CommandName="Update"/> </EditItemTemplate> </asp:FormView>10
    • 11. Model Binding - Selecting data Aggiunta delle funzionalità di «data source» ai Data Control di ASP.NET es: GridView, ListView, FormView, ... Prende spunto dal model binding di ASP.NET MVC Consumo di dati esposti come IEnumerable o IQuerable <asp:GridView ID="categoriesGrid" runat="server" AutoGenerateColumns="false" AllowSorting="true" AllowPaging="true" PageSize="5" ItemType="WebApplication1.Model.Category" DataKeyNames="CategoryID" SelectMethod="GetCategories" UpdateMethod="UpdateCategory"> [...]11
    • 12. Model Binding - Value providers Nuovi attributi da associare ai parametri di un metodo, che permettono di specificare da dove recuperare le informazioni/valore Stesso comportamento dei Parameter dei controlli DataSource es: QueryStringAttribute public IQueryable<Product> GetProducts([QueryString]string keyword) { [...]12
    • 13. Model Binding - Filtering by values from a control Tramite attributi è possibile recuperare valori anche da controlli contenuti all’interno della pagina Nel costruttore degli attributi è possibile specificare il nome del campo o del controllo da utilizzare per recuperare il dato public IQueryable<Product> GetProducts( [QueryString("q")] string keyword, [Control("categories")] int? categoryId) { [...]13
    • 14. Bundling and Optimization Bundling: permette di unire più file JavaScript e CSS in un unico file Minification: rimozione degli spazi ed altri caratteri «non utili», in modo da ridurre la dimensione dei file PRO: Ottimizzazione delle request PRO: Meno byte che transitano Possibilità di differenziare gli script tra debug e release tramite l’attributo debug del tag compilation nel web.config Vedere il file BundleConfig.cs dentro la carella App_Start e il file Bundle.config14
    • 15. Bundling and Optimization Chang Using B/M Without B/M e File Requests 9 34 256% KB Sent 3.26 11.92 266% KB Received 388.51 530 36% Load Time 510 MS 780 MS 53% http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification15
    • 16. OAuth in the Default Templates Nei template di default è stata aggiunta la possibilità di eseguire login tramite le credenziali di vari social network utilizzando l’autenticaizone Oauth Basato sulla libreria DotNetOpenAuth Login tramite Microsoft Account, Facebook, Twitter, Google Possibilità di aggiunta di altri provider di autenticazione Vedere il file AuthConfig.cs dentro la carella App_Start http://blogs.msdn.com/b/webdev/archive/2012/08/15/oauth-openid-support-for-webforms-mvc-and-webpages.aspx16
    • 17. Suppor t for WebSockets Protocol WebSockets è un protocollo standard che permette la comunicazione tra client e server Fornisce una comunicazione long-running Con ASP .NET 4.5 sono state aggiunte classi che permettono l’utilizzo di WebSocket in modo asincrono System.Web.WebSockets Le Web Sockets API rientrano tra le specifiche di HTML5 http://www.w3.org/TR/2009/WD-websockets-20091222/ Solamente con ASP.NET 4.5 su IIS 817
    • 18. Security Image Credit: InThePersonalCloud
    • 19. New ASP.NET Request Validation Features Deferred ("lazy") request validation i dati in post vengono validati solo quando vengono letti Possibilità di accedere ai dati senza che venga eseguita la validazione tramite HttpRequest.Unvalidated vengono validati i dati contenuti in Form, QueryString, Cookies, e Url <httpRuntime requestValidationMode="4.5" ... /> var s = context.Request.Unvalidated.Form["blog_post"];19
    • 20. AntiXSS Librar y Vista la popolarità di Microsoft AntiXSS Library, questa è stata inclusa all’interno del framework all’interno del namespace System.Web.Security E’ disponibile anche su codeplex http://wpl.codeplex.com/ Permette di eseguire l’encoding delle stringhe che devono comparire all’interno dell’HTML, permettendo (tramite opportuni algoritmi) di non far passare eventuali attacchi XSS Può essere sostituita a quella di default utilizzata da ASP <httpRuntime ... .NET encoderType="System.Web.Security.AntiXss.AntiXssEncoder,System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />20
    • 21. Performance
    • 22. Suppor t for await and Task-Based Asynchronous Modules and Handlers Creazione di HttpHandler e HttpModule asincroni con il supporto di async-await Alleggeriscono/migliorano il carico sul server in quanto ottimizzano l’uso dei thread Per un HttpHandler, di deve implementare HttpTaskAsyncHandler public class MyAsyncHandler : HttpTaskAsyncHandler { public override async Task ProcessRequestAsync(HttpContext context) { // Do something } }22
    • 23. Suppor t for await and Task-Based Asynchronous Modules and Handlers Per un HttpModule utilizzare i metodi di helper esposti dalla classe EventHandlerTaskAsyncHelper in modo da permettere l’uso di metodi asincroni all’interno della normale pipeline di ASP .NET che è sincrona public void Init(HttpApplication context) { EventHandlerTaskAsyncHelper helper = new EventHandlerTaskAsyncHelper(MioMetodoAsincrono); context.AddOnPostAuthorizeRequestAsync( helper.BeginEventHandler, helper.EndEventHandler); }23
    • 24. Web Publishing Improvements Le informazione relative ai profili di pubblicazione vengono salvati all’interno della cartella PublishProfiles Possibilità di condividere le informazioni tra i membri del team Possibilità di salvare le informazioni nel controllo sorgente Possono venire utilizzate da msbuild.exe per pubblicare l’applicazione dopo la compilazione msbuild.exe project.csproj /t:WebPublish /p:PublishProfile=ProfileName24
    • 25. Multi-Core JIT compilation for faster star tup Nel Framework 4.5 il compilatore JIT è stato migliorato / ottimizzato per l’utilizzo di più core Riduzione dei tempi del primo avvio di un’applicazione Abilitato di default per le applicazione ASP.NET25
    • 26. ASP.NET precompilation and merge Possibilità di precompilare una Web Application Permette di ridurre ulteriormente i tempi del primo avvio dell’applicazione Per attivarlo, settare il flag «precompile this application before publishing» nelle proprietà del progetto26
    • 27. Domande? Dubbi? Voglia di migrare subito ad ASP.NET 4.5?
    • 28. Voglio sperimentare una nuova strada Screencast pubblicati su Iniziando dal materiale di questo meeting 6 video già registrati e pronti ad uscire  40 minuti di video A partire dalla prossima settimana Aspetto un vostro feedback  http://www.youtube.com/user/andreadottor28
    • 29. Contatti o Feedback su: • http://xedotnet.org/feedback Email: andrea@dottor.net Blog: http://blog.dottor.net Twitter: http://twitter.com/dottorfeedback 10

    ×