[Run Reloaded] Qué hay de nuevo en ASP.NET 4.0 (Eugenio Serrano)

Post on 20-Dec-2014

1.517 views 2 download

description

[Run Reloaded] Qué hay de nuevo en ASP.NET 4.0 (Eugenio Serrano)

Transcript of [Run Reloaded] Qué hay de nuevo en ASP.NET 4.0 (Eugenio Serrano)

Que hay de nuevo en ASP.Net 4.0

Eugenio SerranoMicrosoft MVPSolid Quality Mentorseserrano@solidq.com

ASP.Net 4.0 Soporta diferente tipos de aplicaciones Web

.NET Framework

ASP.NET Framework – Core Services

ASP.NETWeb

Forms

ASP.NET MVC

ASP.NET

AJAX

ASP.NETDynamic

Data

ASP.Net Core Services

.NET Framework

ASP.NETWeb

Forms

ASP.NET MVC

ASP.NET

AJAX

ASP.NETDynamic

Data

ASP.NET Framework – Core Services

Simplifica enormemente la configuraciónLos principales elementos de configuración

fueron movidos a machine.configPermite tener un web config asi:<?xml version="1.0"?><configuration> <system.web> <compilation targetFramework="4.0" /> </system.web></configuration>

ASP.Net Core ServicesMinimización del archivo Web.Config

Hasta ahora usamos el método Application_Load en el Global.asax

Pero el algunos casos el primer Request puede tardar muchísimo cuando la aplicación carga por primera vez

Con IIS 7.5 y W2008R2 podemos incluir un proveedor de AutoStart que se encargue de inicializar la aplicación

Y no se acepta ningún Request hasta que esta inicie

ASP.Net Core ServicesAplicaciones Web con auto arranque

Response.Redirect devuelve un HTTP 302 (Movido temporalmente)

Usando Response.RedirectPermanent se devuelve un HTTP 301 (Movido permanentemente)

Evita trafico innecesario y mejora las búsquedas en los motores

ASP.Net Core ServicesRedireccionamiento permanente

ASP.Net provee 2 providers por defecto para manejar el estado de sesión en una granja de servidoresEn un servidor de session state En una base de datos SQL Server

Usando ambos providers se debe serializar la información.

Ahora puede comprimirse (y descomprimirse) la información con un simple cambio en el web.config

ASP.Net Core ServicesDramática reducción de Session State

Desde la versión 1.0, la cache permite la cache de salida de páginas, controles y HttpResponse

Pero al ser en memoria, compite por la RAM de con otros servicios.

ASP.Net 4.0 incorpora un modelo de providers que permite agregar uno o mas proveedores de cache, que pueden ser en disco, en RAM, distribuidos etc.

ASP.Net Core ServicesCache de salida extensible

Desde la primera versión de ASP.Net se incluye: System.Web.Caching.Cache

Se usa en aplicaciones no-web la usan como mecanismo de cache.

Se ha movido a System.Runtine.Caching.MemoryCache

ASP.Net Core ServicesCache de objetos extensible

Tanto las aplicaciones Windows como Web pueden sacar provecho de la misma

Totalmente extensibleVer proyecto Velocity (Juan Ladetto y

Dante Otero – Hoy 17:20 hs)

ASP.Net Core ServicesCache de objetos extensible

ASP.NET Web Forms

.NET Framework

ASP.NETWeb

Forms

ASP.NET MVC

ASP.NET

AJAX

ASP.NETDynamic

Data

ASP.NET Framework – Core Services

Editor de Css mejorado (Compatible con los estándares de CSS 2.1)

Code Snippets en HTMLSelección de TagsIntellisense mejoradoSoporte para jQuery

ASP.NET Web FormsMejoras en el editor de Visual Studio

Permite controlar la metadata declarativa y programáticamente.

Page.MetaKeywords para name="keywords"

Page.MetaDescription para name="description“

Mejora las búsquedas en los motores

ASP.NET Web FormsMeta tags

En ASP.Net 4 los controles ahora cuentan con una propiedad llamada ViewStateModeEnabledDisabledInherits

La opción Inhertis configura el control para que se use la configuración del contenedor

ASP.NET Web FormsMejoras en ViewState

Permite aceptar URLs que no se mapean a un archivo físico.

Hacen las Url mas fácil de entender y recordar para los humanos

Y mas fácil para indexar en los motores de búsqueda

Podemos pasar de esto:http://misitio/productos.aspx? id=2

A esto:http://misitio/productos/audio

ASP.NET Web FormsRouting

Los controles de ASP.Net 4.0 ahora tienen una propiedad llamada ClientIdMode

Simplifica el acceso a los elementos por medio de Javascript

Puede contener los siguientes valores:AutoIdStaticPredictableInherit

ASP.NET Web FormsClientIDMode

Fue introducido como un add-on para .Net 3.5 SP1, ahora es parte de Net 4.0

35 distintos tipo de gráficos. Numero ilimitado de áreas, títulos,

leyendas, y anotaciones.Gran variedad de configuración de

apariencia para cada elementoSoporta 3D en la mayoría de los gráficos

ASP.NET Web FormsChart Control

Es un nuevo control de ASP.Net 4.0Se usa en combinación con los controles

EntityDataSource y LinqDataSourcePermite filtrar lo datos devueltos por

dichos controlesComo ambos controles se basan en

LINQ, el filtro se realiza en la base de datos y no se consultan todos los datos

ASP.NET Web FormsQuery Extender

Todos los proyectos webs tienen nuevos templates

Sirven como guía para comenzar a construir nuevo sitios, semánticamente correctos, compatibles con XHTML 1.0 strict, y un diseño usando CSS

ASP.NET Web FormsCambios en los templates de proyectos

Todos los controles generan HTML compatible con las especificaciones de HTML 4.01

La mayoría de los controles general HTML mas limpio.

<system.web> <pages controlRenderingCompatibilityVersion="3.5|4.0"/>

</system.web>

ASP.NET Web FormsMejoras en el Render de controles

ASP.NET AJAX

.NET Framework

ASP.NETWeb

Forms

ASP.NET MVC

ASP.NET

AJAX

ASP.NETDynamic

Data

ASP.NET Framework – Core Services

ASP.Net AJAX 4 incluye un nuevo motor de templates que se renderean en el cliente

Instanciación declarativa de comportamientos y controles en el lado del cliente

Live DataBindingEl control DataViewClases DataContext y AdoNetDataContextRefactoring de todas las clases de la librería

ASP.Net AJAX

ASP.NET AJAXMejoras en la version 4.0

for (var i=0;i < data.length;i++){ row = "<tr>"; row += "<td>" + data[i].Title + "</td>"; row += "<td>" + data[i].Director + "</td>"; table += row;}

$get("movieBody").innerHTML = table;

ASP.NET AJAXMejoras en la version 4.0

movieView.set_data(data);

<tbody id="movieBody" class="sys-template"><tr> <td>{{ Title }}</td> <td>{{ Director }}</td> <td>{{ DateReleased.localeFormat("D") }}</td>

</tr></tbody>

ASP.NET AJAXMejoras en la version 4.0

ASP.NET AJAX es compatible cualquier cosa que exponga JSON:

ASMX Web ServicesWCF Web ServicesHTTP HandlersJavaScript arraysASP.NET MVC JSonResultADO.NET Data Services REST Services.NET RIA Services

ASP.NET AJAXMejoras en la version 4.0

ASP.NET MVC

.NET Framework

ASP.NETWeb

Forms

ASP.NET MVC

ASP.NET

AJAX

ASP.NETDynamic

Data

ASP.NET Framework – Core Services

ASP.NET MVC• Hágalo Ud. Mismo• Mayor control sobre HTML• Promueve el SoC• Fácil de usar TDD

ASP.NET WebForms• Ecosistema de controles• Manejo automático de estado• Soporte en tiempo de diseño

ASP.NET• Servicios• Caching• Routing• Localización• …

ASP.NET MVC vs Web Forms

Control

Esfuerzo

Soporte para AreasSoporte para validación con atributos

DataAnnotationsTemplated Helpers

Permiten asociar automáticamente templates de vista y edición con tipos de datos.

Similar a los field templates de Dynamic Data Controls

ASP.NET MVCMejoras en MVC 2.0

ASP.NET Dynamic Data

.NET Framework

ASP.NETWeb

Forms

ASP.NET MVC

ASP.NET

AJAX

ASP.NETDynamic

Data

ASP.NET Framework – Core Services

Entity TemplatesNuevos Fields templates

UrlEmail

Soporte para herencias en el modeloSoporte para tablas Muchos a MuchosSoporte para filtro mejorado, (usando

el QueryExtender)

ASP.NET Dynamic DataMejoras en ASP.Net Dynamic Data

¿Preguntas?