36
Novità Asp.Net 4.0 Nuovi strumenti per gli sviluppatori web Fabrizio Bernabei Andrea Cruciani

Asp.net 4 Community Tour VS2010

Embed Size (px)

DESCRIPTION

Presentazione novità ASP.NET 4.0 Community Tour Lancio Visual Studio 2010 Perugia

Citation preview

Page 1: Asp.net 4 Community Tour VS2010

Novità Asp.Net 4.0Nuovi strumenti per gli sviluppatori web

Fabrizio BernabeiAndrea Cruciani

Page 2: Asp.net 4 Community Tour VS2010

Agenda

o Core Serviceso Deployo Project Templateso SEO

o Web Formso Ajaxo Sviluppo WEB con VS2010

Page 3: Asp.net 4 Community Tour VS2010

Core Services - Preload

o Permette di automatizzare l’avvio dell’applicazione web

o Prerequisiti: IIS 7.5 - Windows Server 2008 R2 (Windows 7)

o Modulo da scaricare “Application Warm-Up“ (http://www.iis.net/download/applicationwarmup)

o IProcessHostPreloadClient

Page 4: Asp.net 4 Community Tour VS2010

Core Services - Preload

<applicationPools>     <add name="MyAppWorkerProcess"

managedRuntimeVersion="v4.0" startMode="AlwaysRunning" />

</applicationPools>

<sites>     <site name="MySite" id="1">          <application path="/" serviceAutoStartEnabled="true"

serviceAutoStartProvider="PreWarmMyCache" /> </site> </sites><serviceAutoStartProviders>      <add name="PreWarmMyCache" type="PreWarmCache,

MyAssembly" /> </serviceAutoStartProviders>

Page 5: Asp.net 4 Community Tour VS2010

Core Services - Preload

public class PreWarmCache : System.Web.Hosting.IProcessHostPreloadClient {

    public void Preload(string[] parameters) {

        // logica di inizializzazione dell’applicazione    }

}

Page 6: Asp.net 4 Community Tour VS2010

Core Services – Web.Config

o Minification

Tadah!

Page 7: Asp.net 4 Community Tour VS2010

Core Services – Web.Config

o Multitargetingo Già presente in VS 2008

o Multitargeting in VS2010:o Supporta .Net Framework 2.0 – 3.5 (sp1) –

4.0o Si adattano le referenceo L’intellisense e la property grid mostrano

solo le caratteristiche della versione in uso

Page 8: Asp.net 4 Community Tour VS2010

Web.config Transformation

o Si possono differenziare le configurazionio Web.release.configo Web.debug.configo Web.testing.configo …

Page 9: Asp.net 4 Community Tour VS2010

Compressed Session State

o Utilizzato in configurazione web farmo Session state “out of process”

o System.IO.Compression.GZipStreamo Costoso a livello di CPUo Si dichiara:

compressionEnabled="true" <sessionState allowCustomSqlDatabase="true" sqlConnectionString="data source=local;Initial Catalog=sessionstatedb" compressionEnabled="true" />

Page 10: Asp.net 4 Community Tour VS2010

Extensible Output Cache

o Cache per l’output di pagine e controlli

o E’ possibile definire politiche di caching intelligenti

o Deve implementare OutputCacheProvider

o Và dichiarata nel web.configo Provider per soluzioni di terze parti:

o Velocity, FileSystem…

Page 11: Asp.net 4 Community Tour VS2010

DEMO

Page 12: Asp.net 4 Community Tour VS2010

Deploy

Page 13: Asp.net 4 Community Tour VS2010

Web Deployment Packages

o Viene generato un file compresso (.zip) contenente:o Applicazione webo Impostazioni di IISo database (schema e dati) di SQL Server

o Può essere esteso (es: certificati, chiavi di registro, .dll in GAC, …)

o Si installa da IIS Manager o da command-line e API

Page 14: Asp.net 4 Community Tour VS2010

One-click Publishing

o E’ possibile definire un publishing profile

Page 15: Asp.net 4 Community Tour VS2010

Project Templates

Page 16: Asp.net 4 Community Tour VS2010

Project Templates

o E’ possibile creare due tipi di Web Application / Web Siteo Emptyo Starter Template

o Gli Starter Templates implementano una mini soluzione di partenza:o Membershipo Master.Page (con css)o Jquery

o Disponibilità di altri Online Templates

Page 17: Asp.net 4 Community Tour VS2010

DEMO

Page 18: Asp.net 4 Community Tour VS2010

SEO news

o Page.MetaKeywords e Page.MetaDescription

o Redirect Permanente

o Genera una risposta HTTP 301 (moved permanently)

o Routing anche con Web Forms

Page 19: Asp.net 4 Community Tour VS2010

Gestione Viewstate

o Croce e delizia di ASP.NET Web Formso Abilitato per default su tutti i controllio Dovrebbe essere disabilitato

esplicitamente sui singoli controlli quando non serve

o In realtà non si modifica quasi mai o Ora si può cambiare la modalità di

gestione del ViewState

Page 20: Asp.net 4 Community Tour VS2010

Gestione Viewstate

o Si può gestire su ogni controllo o pagina mediante l’attributo ViewStateMode:o Enabled: ViewState abilitato per il

controlloo Disabled: ViewState disabilitatoo Inherit: il controllo eredita il valore del

padreo Per default è Enabled a livello di

pagina e Inherit sui singoli controlli (si comporta come nelle versioni precedenti)

Page 21: Asp.net 4 Community Tour VS2010

Controllo sugli ID

o Proprietà ClientIDMode che permette di controllare la generazione degli ID HTML dei singoli controlli

o ID più leggibili e più “leggeri”o Prima: ctl00_Panel1_PlaceHolder2_ContentBox_TextBox1

o Facilità di utilizzo di JavaScript/Ajaxo Prima:

$get(‘ctl00_Panel1_PlaceHolder2_ContentBox_TextBox1’)o o in alternativa: $get(‘<%= TextBox1.ClientID %>’)

Page 22: Asp.net 4 Community Tour VS2010

Controllo sugli ID

o La proprietà ClientIDMode può valere:o AutoID: Generazione automatica come

l’attualeo Static: Proprietà ClientID valorizzata

come da noi specificato “lato server” in ID

o Predictable: Usata nei data controls, concatena l’ID del controllo a quello del parent.o Può essere utilizzato assieme a

ClientIDRowSuffix per concatenare proprietà di oggetti in binding.

o Inherit: Eredita il comportamento impostato sul controllo padre.

Page 23: Asp.net 4 Community Tour VS2010

HTML Encoded Code Expresso Spesso si utilizza per scrivere testo

nella response la sintassi <%= expression %>

o Possibilità di Cross Site Scriptingo Nuova sintassi aggiunta <%:

expression %>o Equivale a scrivere

<%= HttpUtility.HtmlEncode(expression) %>

o Introdotta nuova interfaccia IHtmlString e classe HtmlString per lavorare “sulla fiducia”

Page 24: Asp.net 4 Community Tour VS2010

ASP.NET Chart Control

o Ora disponibile nativamente in ASP.NET

o 35 differenti tipi di graficoo Supporto al bindingo Interattività

Page 25: Asp.net 4 Community Tour VS2010

DEMO

Page 26: Asp.net 4 Community Tour VS2010

QueryExtender Control

o Per filtrare dati in modo più semplice utilizzando controlli Data Sources

o Utilizzabile con EntityDataSource o LinqDataSource

o Poggia su LINQ: il filtro viene eseguito sul server garantendo prestazioni

o <asp:LinqDataSource ID="dataSource" runat="server" TableName="Products">

o </asp:LinqDataSource> o <asp:QueryExtender TargetControlID="dataSource" runat="server"> o <asp:SearchExpression DataFields="ProductName,

Supplier.CompanyName" o SearchType="StartsWith"> o <asp:ControlParameter ControlID="TextBoxSearch" /> o </asp:SearchExpression> o </asp:QueryExtender>

Page 27: Asp.net 4 Community Tour VS2010

QueryExtender Control

o SearchExpressiono Ricerche sul contenuto dei campi

o RangeExpressiono Ricerche su valori numerici all’interno di un

intervallo

o PropertyExpressiono Ricerche sul valore di un campo (tipicamente bool)

o OrderByExpressiono Esegue un ordinamento sui dati

o CustomExpressiono Personalizzabile implementando un metodo di

ricerca

o …

Page 28: Asp.net 4 Community Tour VS2010

DEMO

Page 29: Asp.net 4 Community Tour VS2010

Supporto nuovi browser

o Aggiornati i browser definition files per la funzionalità HttpBrowserCapabilities

o Aggiunto supporto per Chrome, Safari, RIM Blackberry, iPhone

o Prima per aggiornamenti era necessario un processo di modifica-registrazione-riavvio

o Ora sfrutta il meccanismo dei providers

o <browserCaps provider=“MyClassLibrary.MyProvider, MyClassLibrary, Version=1.0.0.0, Culture=neutral" />

Page 30: Asp.net 4 Community Tour VS2010

Migliore HTML/CSS/Accessibilitào Attributo in machine.config

modificabileo <pages

controlRenderingCompatibilityVersion="3.5|4.0"/>

o Default 4.0 sovrascrivibile in web.config, usare 3.5 per compatibilità

o Per default genera markup XHTML 1.0 Strict

o Molti controlli (es. menu) generano codice semanticamente corretto e accessibile

Page 31: Asp.net 4 Community Tour VS2010

Migliore HTML/CSS/Accessibilitào Enabled=“false” ora inserisce una

classe CSS personalizzabile (prima sempre attr disabled)

o Controlli di validazione ora non inseriscono stili CSS inline

o Elementi Hidden di “sistema” (es. ViewState) racchiusi in div con classe CSS aspNetHidden

o Non viene più generato l’attributo border=“0” (per table e image)

Page 32: Asp.net 4 Community Tour VS2010

Migliore HTML/CSS/Accessibilitào Eliminata la generazione di outer table

nei controlli “templetizzati”o FormViewo Login o PasswordRecovery o ChangePassword o Wizard o CreateUserWizard

o Per farlo c’è la proprietà RenderOuterTable

Page 33: Asp.net 4 Community Tour VS2010

Novità Ajax

o jQuery 1.4.1 incluso nei progetti per default

o Supporto Content Delivery Network per servire MS Ajax e jQueryo File JS scaricati dai server MS geograficio Caching dei file sui servero Utilizzabile da ScriptManager con

EnableCdno ScriptManager Explicit Scriptso AjaxFrameworkMode=Enabled: come primao AjaxFrameworkMode=Disabled: nessuno script

servitoo AjaxFrameworkMode=Explicit: lista di riferimenti

esplicita

Page 34: Asp.net 4 Community Tour VS2010

Sviluppo WEB con VS2010

o Utilizzabili Snippets per JavaScript e HTMLo VS 2010 include +200 snippets per

HTML/JSo Ulteriore snippets scaricabili

o Potenziato Intellisense per JavaScripto Intellisense nativo jQuery

Page 35: Asp.net 4 Community Tour VS2010

Grazie… Domande?

Page 36: Asp.net 4 Community Tour VS2010

© 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.