Asp.Net MVC 2 :: VS 2010 Community Tour
Upcoming SlideShare
Loading in...5
×
 

Asp.Net MVC 2 :: VS 2010 Community Tour

on

  • 1,877 views

Presentazione di MVC2 per il community tour del lancio di Visual Studio 2010. Tappa di Perugia

Presentazione di MVC2 per il community tour del lancio di Visual Studio 2010. Tappa di Perugia
DotNetUmbria + DotNetMarche

Statistics

Views

Total Views
1,877
Views on SlideShare
1,830
Embed Views
47

Actions

Likes
0
Downloads
23
Comments
0

5 Embeds 47

http://www.ienumerable.it 31
http://www.slideshare.net 10
https://www.linkedin.com 3
http://feeds.feedburner.com 2
http://www.lmodules.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Asp.Net MVC 2 :: VS 2010 Community Tour Asp.Net MVC 2 :: VS 2010 Community Tour Presentation Transcript

  • Asp.Net MVC 2
    Visual Studio 2010 Community Launch Tour
    Andrea Balducci
    http://www.ienumerable.it
    http://twitter.com/andreabalducci
  • Come funziona MVC?
    Inviata al server
    Request
    Asp.Net MVC
    Identifica ed istanzia
    Controller
    prepara il
    Model
    determina la
    viene passato alla
    genera la
    Response
    View
    http://msdn.microsoft.com/en-us/library/dd381412.aspx
  • Piattaforma di sviluppo
    Download separato
    http://bit.ly/bg04yY
    Compreso
  • Framework
    Asp.Net MVC2 è disponibile dalla versione 3.5 sp1 di Microsoft .Net Framework.
    • Non è parte integrante del framework
    • Installabile tramite Web PlatformInstaller
    • Bin deployable
    • Standaloneinstaller
    http://www.asp.net/mvc/
  • Open Sourced
    OSI-compliantopen-sourcelicense
    http://aspnet.codeplex.com/releases/view/41742
  • Routing
    In Asp.Net 4 il sistema di routing è utilizzabile anche per applicazioni webforms.
    Asp.Net MVC 1/2
    WebForms 4
    http://bit.ly/9gyPkM
  • Areas
    Organizzazione dei progetti in aree funzionali
    In ogni area è possibile definire controllers, models e views
    Le aree vanno attivate in fasi di startup dell’applicazione web.
    http://msdn.microsoft.com/en-us/library/ee671793.aspx
  • Areas - Registrazione
    Classe <AreaName>AreaRegistration:
    • Nome dell’area
    • Routes
    http://msdn.microsoft.com/en-us/library/ee671793.aspx
  • Areas - Routes
    Registrare ogni route con il relativo namespace per evitare collisioni
    http://msdn.microsoft.com/en-us/library/ee671793.aspx
  • Areas - Routes
    Registrazione con namedargument (C# 4)
    Registrazione classica
    http://msdn.microsoft.com/en-us/library/ee671793.aspx
  • Areas - ActionLink
    • Per “entrare” in un’area è necessario indicarne il nome
    • Se l’area non è indicata la default è l’area corrente.
    • Per tornare alla “root” indicare {area=String.Empty}
    http://msdn.microsoft.com/en-us/library/ee671793.aspx
  • {Areas – Demo}
  • Strongly-Typed UI Helpers
    Permettono l’utilizzo di lambda expressions per indicare la proprietà del model
    Vantaggi
    • Refactoringfacilitato
    • Messaggi di errore a compile time (se è abilitata la compilazione delle views)
    • Intellisense
    http://bit.ly/8ZUEom
  • DataAnnotations
    Permettono di decorare il modello dati dell’applicazione tramite attributi
    E’possibile, per esempio, indicare che un valore è obbligatorio o che una stringa richiede un editormultiline
    http://bit.ly/L5J9
  • DataAnnotations
    Q: Perché MultilineText e non TextArea?
    R: DataAnnotations è indipendente dal framework della UI
    Q: Se è indipendente dalla UI come viene gestita da MVC?
    R: DataAnnotationsModelMetadataProvider
    DataAnnotationsModelValidatorProvider
    Q: Se il mio model è autogenerato come posso annotarlo?
    R: [MetadataType(typeof(MyModelMetadata))]
    http://bit.ly/1x4TSC
  • Validazione
    La validazione è applicata su tutto il modello, indipendentemente dalle proprietà presenti nella form inviata al server.
    Può far uso delle DataAnnotations - [Required] - [Range]
    - [StringLength]
    - [RegularExpression]
  • Validazione
    Una proprietà non nullable è implicitamente required.
    Indicare comunque [Required] permette di customizzare il messaggio di errore.
  • Validazione Client Side
    MVC2 supporta nativamente la validazione client side (qualora javascript sia abilitato) sfruttando gli stessi meccanismi definiti per la validazione server side.
    Per attivare la validazione client-side:1) includere gli necessari script necessari
    2) chiamare Html.EnableClientSideValidation()
    http://bit.ly/5WILHI
  • {Validazione– Demo}
  • DynamicScaffolding
    E’ possibile autogenerare le form di inserimento e visualizzazione dati utilizzando Html.EditorForModel() e Html.DisplayForModel()
    http://bit.ly/3hPK7H
  • Templating
    Il codice HTML generato dagli helperHtml.DisplayFor e Html.EditFor può essere customizzato tramite templates.
    Il template è una partialview che ha per nome il tipo del dato da rappresentare ed è memorizzato nelle cartelle EditorTemplates o DisplayTemplates
    http://bit.ly/3Vwjvj
  • {Scaffolding – Demo}
  • RenderAction
    L’introduzione dell’helperHtml.RenderAction rende possibile la componentizzazione dell’applicazione.
    In questo modo anche le logiche di business diventano riutilizzabili eliminando duplicazioni di codice
    E’ possibile limitare l’utilizzo di una determinata action alla sola RenderAction (evitando così di esporla tramite url) decorando l’action con [ChildActionOnly]
    http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx
  • {RenderAction – Demo}
  • Controller Asincroni
    I controller asincroni permettono di ottimizzare l’utilizzo delle risorse del webserver.
    • Le operazioni long running tengono impegnati i thread.
    • I thread associati all’application pool sono limitati
    • ThreadStarvation -> 503 Server toobusy
    L’utilizzo dei controller asincroni permette di delegare l’elaborazione ad un thread secondario, liberando il thread di elaborazione della request.
    http://msdn.microsoft.com/en-us/library/ee728598.aspx
  • Controller Asincroni
    http://msdn.microsoft.com/en-us/library/ee728598.aspx
  • {AsyncController – Demo}
  • Slide e demo su
    © 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.