SlideShare a Scribd company logo
1 of 36
Novità Asp.Net 4.0 Nuovi strumenti per gli sviluppatori web Fabrizio Bernabei Andrea Cruciani
Agenda CoreServices Deploy Project Templates SEO Web Forms Ajax Sviluppo WEB con VS2010
CoreServices - Preload Permette di automatizzare l’avvio dell’applicazione web Prerequisiti: IIS 7.5 - Windows Server 2008 R2 (Windows 7) Modulo da scaricare “ApplicationWarm-Up“ (http://www.iis.net/download/applicationwarmup) IProcessHostPreloadClient
CoreServices - Preload <applicationPools>      <add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" />  </applicationPools>  <sites>      <site name="MySite" id="1">           <applicationpath="/" serviceAutoStartEnabled="true" serviceAutoStartProvider="PreWarmMyCache" />     </site>  </sites> <serviceAutoStartProviders>       <addname="PreWarmMyCache" type="PreWarmCache, MyAssembly" />  </serviceAutoStartProviders>
CoreServices - Preload public classPreWarmCache : System.Web.Hosting.IProcessHostPreloadClient {    		 public voidPreload(string[] parameters) 		 {         		 // logica di inizializzazione dell’applicazione     		 }  	}
CoreServices – Web.Config Minification Tadah!
CoreServices – Web.Config Multitargeting Già presente in VS 2008 Multitargeting in VS2010: Supporta .Net Framework 2.0 – 3.5 (sp1) – 4.0 Si adattano le reference L’intellisense e la propertygrid mostrano solo le caratteristiche della versione in uso
Web.configTransformation Si possono differenziare le configurazioni Web.release.config Web.debug.config Web.testing.config …
CompressedSession State Utilizzato in configurazione web farm Session state “out ofprocess” System.IO.Compression.GZipStream Costoso a livello di CPU Si dichiara: compressionEnabled="true"  <sessionStateallowCustomSqlDatabase="true" sqlConnectionString="data source=local;InitialCatalog=sessionstatedb" compressionEnabled="true" />
Extensible Output Cache Cache per l’output di pagine e controlli E’ possibile definire politiche di caching intelligenti Deve implementare OutputCacheProvider Và dichiarata nel web.config Provider per soluzioni di terze parti: Velocity, FileSystem…
DEMO
Deploy
Web DeploymentPackages Viene generato un file compresso (.zip) contenente: Applicazione web Impostazioni di IIS database (schema e dati) di SQL Server Può essere esteso (es: certificati, chiavi di registro, .dll in GAC, …) Si installa da IIS Manager o da command-line e API
One-clickPublishing E’ possibile definire un publishingprofile
Project Templates
Project Templates E’ possibile creare due tipi di Web Application / Web Site Empty Starter Template Gli Starter Templates implementano una mini soluzione di partenza: Membership Master.Page (con css) Jquery Disponibilità di altri Online Templates
DEMO
SEO news Page.MetaKeywords e Page.MetaDescription Redirect Permanente Genera una risposta HTTP 301 (movedpermanently) Routing anche con Web Forms
Gestione Viewstate Croce e delizia di ASP.NET Web Forms Abilitato per default su tutti i controlli Dovrebbe essere disabilitato esplicitamente sui singoli controlli quando non serve In realtà non si modifica quasi mai  Ora si può cambiare la modalità di gestione del ViewState
Gestione Viewstate Si può gestire su ogni controllo o pagina mediante l’attributo ViewStateMode: Enabled:ViewStateabilitato per ilcontrollo Disabled: ViewState disabilitato Inherit: il controllo eredita il valore del  padre Per default è Enabled a livello di pagina e Inherit sui singoli controlli (si comporta come nelle versioni precedenti)
Controllo sugli ID Proprietà ClientIDMode che permette di controllare la generazione degli ID HTML dei singoli controlli ID più leggibili e più “leggeri” Prima: ctl00_Panel1_PlaceHolder2_ContentBox_TextBox1 Facilità di utilizzo di JavaScript/Ajax Prima: $get(‘ctl00_Panel1_PlaceHolder2_ContentBox_TextBox1’) o in alternativa: $get(‘<%= TextBox1.ClientID %>’)
Controllo sugli ID La proprietà ClientIDMode può valere: AutoID: Generazioneautomatica come l’attuale Static: ProprietàClientIDvalorizzata come danoispecificato “lato server” in ID Predictable: Usatanei data controls, concatenal’ID del controllo a quello del parent. Puòessereutilizzatoassieme a ClientIDRowSuffix per concatenareproprietàdioggetti in binding. Inherit: Ereditailcomportamentoimpostatosulcontrollo padre.
HTML Encoded Code Express Spesso si utilizza per scrivere testo nella response la sintassi <%= expression%> Possibilità di Cross Site Scripting Nuova sintassi aggiunta <%: expression%> Equivale a scrivere<%= HttpUtility.HtmlEncode(expression)%> Introdotta nuova interfaccia IHtmlString e classe HtmlString per lavorare “sulla fiducia”
ASP.NET Chart Control Ora disponibile nativamente in ASP.NET 35 differenti tipi di grafico Supporto al binding Interattività
DEMO
QueryExtenderControl Per filtrare dati in modo più semplice utilizzando controlli Data Sources Utilizzabile con EntityDataSource o LinqDataSource Poggia su LINQ: il filtro viene eseguito sul server garantendo prestazioni <asp:LinqDataSourceID="dataSource" runat="server" TableName="Products">  </asp:LinqDataSource>  <asp:QueryExtenderTargetControlID="dataSource" runat="server">    <asp:SearchExpressionDataFields="ProductName, Supplier.CompanyName"   SearchType="StartsWith">      <asp:ControlParameterControlID="TextBoxSearch" />    </asp:SearchExpression>  </asp:QueryExtender>
QueryExtenderControl SearchExpression Ricerche sul contenuto dei campi RangeExpression Ricerche su valori numerici all’interno di un intervallo PropertyExpression Ricerche sul valore di un campo (tipicamente bool) OrderByExpression Esegue un ordinamento sui dati CustomExpression Personalizzabile implementando un metodo di ricerca …
DEMO
Supporto nuovi browser Aggiornati i browser definitionfiles per la funzionalità HttpBrowserCapabilities Aggiunto supporto per Chrome, Safari, RIM Blackberry, iPhone Prima per aggiornamenti era necessario un processo di modifica-registrazione-riavvio Ora sfrutta il meccanismo dei providers <browserCaps provider=“MyClassLibrary.MyProvider, MyClassLibrary, Version=1.0.0.0, Culture=neutral" />
Migliore HTML/CSS/Accessibilità Attributo in machine.config modificabile <pagescontrolRenderingCompatibilityVersion="3.5|4.0"/> Default 4.0 sovrascrivibile in web.config, usare 3.5 per compatibilità Per default genera markup XHTML 1.0 Strict Molti controlli (es. menu) generano codice semanticamente corretto e accessibile
Migliore HTML/CSS/Accessibilità Enabled=“false” ora inserisce una classe CSS personalizzabile (prima sempre attrdisabled) Controlli di validazione ora non inseriscono stili CSS inline Elementi Hidden di “sistema” (es. ViewState) racchiusi in div con classe CSS aspNetHidden Non viene più generato l’attributo border=“0” (per table e image)
Migliore HTML/CSS/Accessibilità Eliminata la generazione di outertable nei controlli “templetizzati” FormView Login  PasswordRecovery ChangePassword Wizard CreateUserWizard Per farlo c’è la proprietà RenderOuterTable
Novità Ajax jQuery 1.4.1 incluso nei progetti per default Supporto Content Delivery Network per servire MS Ajax e jQuery File JS scaricati dai server MS geografici Caching dei file sui server Utilizzabile da ScriptManager con EnableCdn ScriptManagerExplicitScripts AjaxFrameworkMode=Enabled: come prima AjaxFrameworkMode=Disabled: nessuno script servito AjaxFrameworkMode=Explicit: lista di riferimenti esplicita
Sviluppo WEB con VS2010 Utilizzabili Snippets per JavaScript e HTML VS 2010 include +200 snippets per HTML/JS Ulteriore snippets scaricabili Potenziato Intellisense per JavaScript Intellisense nativo jQuery
Grazie… Domande?
© 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.

More Related Content

What's hot

Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSWorkshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSGiovanni Buffa
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailStefano Ottaviani
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012Andrea Dottor
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webLuca Milan
 
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0XeDotNet
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiAndrea Dottor
 
CommitUniversity AngularJSAdvanced Andrea Vallotti
CommitUniversity  AngularJSAdvanced Andrea VallottiCommitUniversity  AngularJSAdvanced Andrea Vallotti
CommitUniversity AngularJSAdvanced Andrea VallottiCommit University
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the WebClaudio Gandelli
 
Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!Massimo Bonanni
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Andrea Agnoletto
 
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.NetAlessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.NetAlessandro Forte
 
Spring, IBatis e Transazioni Aop Nel Jug Avis Web
Spring, IBatis e Transazioni Aop Nel Jug Avis WebSpring, IBatis e Transazioni Aop Nel Jug Avis Web
Spring, IBatis e Transazioni Aop Nel Jug Avis WebMassimiliano Dessì
 
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesAndrea Dottor
 
Applicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e DelphiApplicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e DelphiMarco Breveglieri
 
Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETStefano Ottaviani
 

What's hot (20)

Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJSWorkshop Ideare e creare Web Applications, Introduzione ad AngularJS
Workshop Ideare e creare Web Applications, Introduzione ad AngularJS
 
Sviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRailSviluppo Web Agile Con MonoRail
Sviluppo Web Agile Con MonoRail
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni web
 
MVC and Struts 1
MVC and Struts 1MVC and Struts 1
MVC and Struts 1
 
AngularJS 2.0
AngularJS 2.0 AngularJS 2.0
AngularJS 2.0
 
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
 
Powerful asp.net 4 e ie9
Powerful asp.net 4 e ie9Powerful asp.net 4 e ie9
Powerful asp.net 4 e ie9
 
CommitUniversity AngularJSAdvanced Andrea Vallotti
CommitUniversity  AngularJSAdvanced Andrea VallottiCommitUniversity  AngularJSAdvanced Andrea Vallotti
CommitUniversity AngularJSAdvanced Andrea Vallotti
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
 
Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!Asp.net web form 4.5 - what's new!!
Asp.net web form 4.5 - what's new!!
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
 
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.NetAlessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
 
Spring, IBatis e Transazioni Aop Nel Jug Avis Web
Spring, IBatis e Transazioni Aop Nel Jug Avis WebSpring, IBatis e Transazioni Aop Nel Jug Avis Web
Spring, IBatis e Transazioni Aop Nel Jug Avis Web
 
Angular js: routing
Angular js: routingAngular js: routing
Angular js: routing
 
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor Pages
 
Applicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e DelphiApplicazioni Web ultra-performanti con Vue.js e Delphi
Applicazioni Web ultra-performanti con Vue.js e Delphi
 
Generazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NETGenerazione Dinamica di Codice in .NET
Generazione Dinamica di Codice in .NET
 

Similar to Asp.net 4 Community Tour VS2010

Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012Crismer La Pignola
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC FrameworkDotNetMarche
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroAndrea Dottor
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoJava User Group Roma
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5JBug Italy
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS DevicesAndrea Picchi
 
What's new in ASP.NET 4.0
What's new in ASP.NET 4.0What's new in ASP.NET 4.0
What's new in ASP.NET 4.0XeDotNet
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAndrea Balducci
 
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applicationsDotNetCampus
 
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?Giorgio Di Nardo
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIAdiodorato
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS BuildGian Maria Ricci
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)Luca Milan
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockoutDotNetCampus
 
Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreAndrea Dottor
 
Sviluppo web con Ruby on Rails
Sviluppo web con Ruby on RailsSviluppo web con Ruby on Rails
Sviluppo web con Ruby on Railsjekil
 

Similar to Asp.net 4 Community Tour VS2010 (20)

Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
 
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano Ciccazzo
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
 
What's new in ASP.NET 4.0
What's new in ASP.NET 4.0What's new in ASP.NET 4.0
What's new in ASP.NET 4.0
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community Tour
 
Cert03 70-486 developing asp.net mvc 4 web applications
Cert03   70-486 developing asp.net mvc 4 web applicationsCert03   70-486 developing asp.net mvc 4 web applications
Cert03 70-486 developing asp.net mvc 4 web applications
 
ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?ASP.NET MVC 3: se non ora, quando?
ASP.NET MVC 3: se non ora, quando?
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIA
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS Build
 
What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)What's new in Asp.Net 4.5 (and WebApi)
What's new in Asp.Net 4.5 (and WebApi)
 
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockout
 
Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET Core
 
Sviluppo web con Ruby on Rails
Sviluppo web con Ruby on RailsSviluppo web con Ruby on Rails
Sviluppo web con Ruby on Rails
 
Wpo extended
Wpo extendedWpo extended
Wpo extended
 
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
 

More from Fabrizio Bernabei

.NET & Linux: la strana coppia - DotNetDay 2018
.NET & Linux: la strana coppia - DotNetDay 2018.NET & Linux: la strana coppia - DotNetDay 2018
.NET & Linux: la strana coppia - DotNetDay 2018Fabrizio Bernabei
 
Introduzione a React Native - Mokapp 2017
Introduzione a React Native - Mokapp 2017Introduzione a React Native - Mokapp 2017
Introduzione a React Native - Mokapp 2017Fabrizio Bernabei
 
Tutti pronti per Windows 10?
Tutti pronti per Windows 10?Tutti pronti per Windows 10?
Tutti pronti per Windows 10?Fabrizio Bernabei
 
Mokapp2014 Lab Universal App
Mokapp2014 Lab Universal AppMokapp2014 Lab Universal App
Mokapp2014 Lab Universal AppFabrizio Bernabei
 
mokapp - Applicazioni fotografiche con Windows Phone 8
mokapp - Applicazioni fotografiche con Windows Phone 8mokapp - Applicazioni fotografiche con Windows Phone 8
mokapp - Applicazioni fotografiche con Windows Phone 8Fabrizio Bernabei
 
ASP.NET Ajax Community Launch VS2008
ASP.NET Ajax Community Launch VS2008ASP.NET Ajax Community Launch VS2008
ASP.NET Ajax Community Launch VS2008Fabrizio Bernabei
 
Roadmap pubblicazione app WP7 - Community Tour 2011 DotNetUmbria
Roadmap pubblicazione app WP7 - Community Tour 2011 DotNetUmbriaRoadmap pubblicazione app WP7 - Community Tour 2011 DotNetUmbria
Roadmap pubblicazione app WP7 - Community Tour 2011 DotNetUmbriaFabrizio Bernabei
 
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFMS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFFabrizio Bernabei
 

More from Fabrizio Bernabei (12)

Sviluppare SPA con Vue
Sviluppare SPA con VueSviluppare SPA con Vue
Sviluppare SPA con Vue
 
Sviluppare SPA con Vue.js
Sviluppare SPA con Vue.jsSviluppare SPA con Vue.js
Sviluppare SPA con Vue.js
 
.NET & Linux: la strana coppia - DotNetDay 2018
.NET & Linux: la strana coppia - DotNetDay 2018.NET & Linux: la strana coppia - DotNetDay 2018
.NET & Linux: la strana coppia - DotNetDay 2018
 
Introduzione a React Native - Mokapp 2017
Introduzione a React Native - Mokapp 2017Introduzione a React Native - Mokapp 2017
Introduzione a React Native - Mokapp 2017
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Dnu2015
Dnu2015Dnu2015
Dnu2015
 
Tutti pronti per Windows 10?
Tutti pronti per Windows 10?Tutti pronti per Windows 10?
Tutti pronti per Windows 10?
 
Mokapp2014 Lab Universal App
Mokapp2014 Lab Universal AppMokapp2014 Lab Universal App
Mokapp2014 Lab Universal App
 
mokapp - Applicazioni fotografiche con Windows Phone 8
mokapp - Applicazioni fotografiche con Windows Phone 8mokapp - Applicazioni fotografiche con Windows Phone 8
mokapp - Applicazioni fotografiche con Windows Phone 8
 
ASP.NET Ajax Community Launch VS2008
ASP.NET Ajax Community Launch VS2008ASP.NET Ajax Community Launch VS2008
ASP.NET Ajax Community Launch VS2008
 
Roadmap pubblicazione app WP7 - Community Tour 2011 DotNetUmbria
Roadmap pubblicazione app WP7 - Community Tour 2011 DotNetUmbriaRoadmap pubblicazione app WP7 - Community Tour 2011 DotNetUmbria
Roadmap pubblicazione app WP7 - Community Tour 2011 DotNetUmbria
 
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFMS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
 

Asp.net 4 Community Tour VS2010

  • 1. Novità Asp.Net 4.0 Nuovi strumenti per gli sviluppatori web Fabrizio Bernabei Andrea Cruciani
  • 2. Agenda CoreServices Deploy Project Templates SEO Web Forms Ajax Sviluppo WEB con VS2010
  • 3. CoreServices - Preload Permette di automatizzare l’avvio dell’applicazione web Prerequisiti: IIS 7.5 - Windows Server 2008 R2 (Windows 7) Modulo da scaricare “ApplicationWarm-Up“ (http://www.iis.net/download/applicationwarmup) IProcessHostPreloadClient
  • 4. CoreServices - Preload <applicationPools>     <add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" /> </applicationPools> <sites>     <site name="MySite" id="1">          <applicationpath="/" serviceAutoStartEnabled="true" serviceAutoStartProvider="PreWarmMyCache" /> </site> </sites> <serviceAutoStartProviders>      <addname="PreWarmMyCache" type="PreWarmCache, MyAssembly" /> </serviceAutoStartProviders>
  • 5. CoreServices - Preload public classPreWarmCache : System.Web.Hosting.IProcessHostPreloadClient {     public voidPreload(string[] parameters) {         // logica di inizializzazione dell’applicazione     } }
  • 6. CoreServices – Web.Config Minification Tadah!
  • 7. CoreServices – Web.Config Multitargeting Già presente in VS 2008 Multitargeting in VS2010: Supporta .Net Framework 2.0 – 3.5 (sp1) – 4.0 Si adattano le reference L’intellisense e la propertygrid mostrano solo le caratteristiche della versione in uso
  • 8. Web.configTransformation Si possono differenziare le configurazioni Web.release.config Web.debug.config Web.testing.config …
  • 9. CompressedSession State Utilizzato in configurazione web farm Session state “out ofprocess” System.IO.Compression.GZipStream Costoso a livello di CPU Si dichiara: compressionEnabled="true" <sessionStateallowCustomSqlDatabase="true" sqlConnectionString="data source=local;InitialCatalog=sessionstatedb" compressionEnabled="true" />
  • 10. Extensible Output Cache Cache per l’output di pagine e controlli E’ possibile definire politiche di caching intelligenti Deve implementare OutputCacheProvider Và dichiarata nel web.config Provider per soluzioni di terze parti: Velocity, FileSystem…
  • 11. DEMO
  • 13. Web DeploymentPackages Viene generato un file compresso (.zip) contenente: Applicazione web Impostazioni di IIS database (schema e dati) di SQL Server Può essere esteso (es: certificati, chiavi di registro, .dll in GAC, …) Si installa da IIS Manager o da command-line e API
  • 14. One-clickPublishing E’ possibile definire un publishingprofile
  • 16. Project Templates E’ possibile creare due tipi di Web Application / Web Site Empty Starter Template Gli Starter Templates implementano una mini soluzione di partenza: Membership Master.Page (con css) Jquery Disponibilità di altri Online Templates
  • 17. DEMO
  • 18. SEO news Page.MetaKeywords e Page.MetaDescription Redirect Permanente Genera una risposta HTTP 301 (movedpermanently) Routing anche con Web Forms
  • 19. Gestione Viewstate Croce e delizia di ASP.NET Web Forms Abilitato per default su tutti i controlli Dovrebbe essere disabilitato esplicitamente sui singoli controlli quando non serve In realtà non si modifica quasi mai  Ora si può cambiare la modalità di gestione del ViewState
  • 20. Gestione Viewstate Si può gestire su ogni controllo o pagina mediante l’attributo ViewStateMode: Enabled:ViewStateabilitato per ilcontrollo Disabled: ViewState disabilitato Inherit: il controllo eredita il valore del padre Per default è Enabled a livello di pagina e Inherit sui singoli controlli (si comporta come nelle versioni precedenti)
  • 21. Controllo sugli ID Proprietà ClientIDMode che permette di controllare la generazione degli ID HTML dei singoli controlli ID più leggibili e più “leggeri” Prima: ctl00_Panel1_PlaceHolder2_ContentBox_TextBox1 Facilità di utilizzo di JavaScript/Ajax Prima: $get(‘ctl00_Panel1_PlaceHolder2_ContentBox_TextBox1’) o in alternativa: $get(‘<%= TextBox1.ClientID %>’)
  • 22. Controllo sugli ID La proprietà ClientIDMode può valere: AutoID: Generazioneautomatica come l’attuale Static: ProprietàClientIDvalorizzata come danoispecificato “lato server” in ID Predictable: Usatanei data controls, concatenal’ID del controllo a quello del parent. Puòessereutilizzatoassieme a ClientIDRowSuffix per concatenareproprietàdioggetti in binding. Inherit: Ereditailcomportamentoimpostatosulcontrollo padre.
  • 23. HTML Encoded Code Express Spesso si utilizza per scrivere testo nella response la sintassi <%= expression%> Possibilità di Cross Site Scripting Nuova sintassi aggiunta <%: expression%> Equivale a scrivere<%= HttpUtility.HtmlEncode(expression)%> Introdotta nuova interfaccia IHtmlString e classe HtmlString per lavorare “sulla fiducia”
  • 24. ASP.NET Chart Control Ora disponibile nativamente in ASP.NET 35 differenti tipi di grafico Supporto al binding Interattività
  • 25. DEMO
  • 26. QueryExtenderControl Per filtrare dati in modo più semplice utilizzando controlli Data Sources Utilizzabile con EntityDataSource o LinqDataSource Poggia su LINQ: il filtro viene eseguito sul server garantendo prestazioni <asp:LinqDataSourceID="dataSource" runat="server" TableName="Products"> </asp:LinqDataSource> <asp:QueryExtenderTargetControlID="dataSource" runat="server"> <asp:SearchExpressionDataFields="ProductName, Supplier.CompanyName" SearchType="StartsWith"> <asp:ControlParameterControlID="TextBoxSearch" /> </asp:SearchExpression> </asp:QueryExtender>
  • 27. QueryExtenderControl SearchExpression Ricerche sul contenuto dei campi RangeExpression Ricerche su valori numerici all’interno di un intervallo PropertyExpression Ricerche sul valore di un campo (tipicamente bool) OrderByExpression Esegue un ordinamento sui dati CustomExpression Personalizzabile implementando un metodo di ricerca …
  • 28. DEMO
  • 29. Supporto nuovi browser Aggiornati i browser definitionfiles per la funzionalità HttpBrowserCapabilities Aggiunto supporto per Chrome, Safari, RIM Blackberry, iPhone Prima per aggiornamenti era necessario un processo di modifica-registrazione-riavvio Ora sfrutta il meccanismo dei providers <browserCaps provider=“MyClassLibrary.MyProvider, MyClassLibrary, Version=1.0.0.0, Culture=neutral" />
  • 30. Migliore HTML/CSS/Accessibilità Attributo in machine.config modificabile <pagescontrolRenderingCompatibilityVersion="3.5|4.0"/> Default 4.0 sovrascrivibile in web.config, usare 3.5 per compatibilità Per default genera markup XHTML 1.0 Strict Molti controlli (es. menu) generano codice semanticamente corretto e accessibile
  • 31. Migliore HTML/CSS/Accessibilità Enabled=“false” ora inserisce una classe CSS personalizzabile (prima sempre attrdisabled) Controlli di validazione ora non inseriscono stili CSS inline Elementi Hidden di “sistema” (es. ViewState) racchiusi in div con classe CSS aspNetHidden Non viene più generato l’attributo border=“0” (per table e image)
  • 32. Migliore HTML/CSS/Accessibilità Eliminata la generazione di outertable nei controlli “templetizzati” FormView Login PasswordRecovery ChangePassword Wizard CreateUserWizard Per farlo c’è la proprietà RenderOuterTable
  • 33. Novità Ajax jQuery 1.4.1 incluso nei progetti per default Supporto Content Delivery Network per servire MS Ajax e jQuery File JS scaricati dai server MS geografici Caching dei file sui server Utilizzabile da ScriptManager con EnableCdn ScriptManagerExplicitScripts AjaxFrameworkMode=Enabled: come prima AjaxFrameworkMode=Disabled: nessuno script servito AjaxFrameworkMode=Explicit: lista di riferimenti esplicita
  • 34. Sviluppo WEB con VS2010 Utilizzabili Snippets per JavaScript e HTML VS 2010 include +200 snippets per HTML/JS Ulteriore snippets scaricabili Potenziato Intellisense per JavaScript Intellisense nativo jQuery
  • 36. © 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.