Edgar Snchez - PowerPoint PPT Presentation

1 / 53
About This Presentation
Title:

Edgar Snchez

Description:

add url='~/Home.aspx' mappedUrl='~/default.aspx?tabindex=0' ... Machine.config.defaults Documenta los valores por omisi n quemados en el runtime ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 54
Provided by: JeffPr8
Category:
Tags: defaults | edgar | snchez

less

Transcript and Presenter's Notes

Title: Edgar Snchez


1
De ASP.NET 1.1 a ASP.NET 2.0
  • Edgar Sánchez
  • Logic Studio
  • Director Regional de Microsoft para Ecuador

2
Un vistazo a las nuevas características
Controles dedatos
Controles delogin
Partes web
Otros controles nuevos
Controles
Páginas maestras
Temas y Pieles
Mobilidad ylocalización
Compilación
Framework de Página
Membresía
Administraciónde roles
Perfiles
Configuración
Servicios y APIs
Mapas del sitio
Monitoreode salud
Otros servicios
3
Novedades en el acceso a datos
  • Controles Data source
  • Data binding declarativo bidireccional
  • Controles de datos
  • GridView Como el DataGrid, pero mejorado
  • DetailsView El compañero de GridView
  • Dependencias de cache SQL
  • Atar ítems de cache a entidades de base de datos
  • Expresiones de data binding simplificadas

4
Data binding de ASP.NET 1.x
ltaspDataGrid ID"MyDataGrid" RunAt"server" /gt
... ltscript language"C" runat"server"gt void
Page_Load (Object sender, EventArgs e)
SqlConnection connection new SqlConnection
("serverlocalhostdatabasepubsintegrated
securitytrue") try
connection.Open () SqlCommand command
new SqlCommand ("select title_id,
titles, price from titles")
MyDataGrid.DataSource command.ExecuteReader
() MyDataGrid.DataBind ()
finally connection.Close ()
lt/scriptgt
5
Data binding de ASP.NET 2.0
ltaspSqlDataSource ID"Titles" RunAt"server"
ConnectionString"serverlocalhostdatabasepubsi
ntegrated securitytrue" SelectCommand"select
title_id, title, price from titles"
/gt ltaspDataGrid DataSourceID"Titles"
RunAt"server" /gt
6
Data binding declarativo
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
7
Novedades en la interfaz de usuario
  • Páginas maestras
  • Herencia visual" para páginas Web
  • Se aplica declarativa o programáticamente
  • Temas y pieles
  • Poner temas a controles, páginas o sitios enteros
  • Se aplica declarativa o programáticamente
  • Nuevos controles (más de 50 en total)
  • Menus, TreeViews, Wizards y más

8
Como poner tema a una página
lt_at_ Page Theme"BasicBlue"gt
Antes
Después
9
Páginas maestras
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
10
Novedades en seguridad
  • Servicio de membresía
  • Servicio para administrar usuarios y credenciales
  • Basado en proveedores para tener almacenamiento
    flexible
  • Controles de login
  • Controles para logging, creación de nuevos
    usuarios, recuperación de claves y más
  • Servicio de administración de roles
  • Combinación de autenticación con formas y
    autorización basada en roles sin escribir código!

11
Validación de logins
if (Membership.ValidateUser (UserName.Text,
Password.Text)) RedirectFromLoginPage
(UserName.Text, RememberMe.Checked)
12
El control de login
lthtmlgt ltbodygt ltform runat"server"gt
ltaspLogin RunAt"server" /gt lt/formgt
lt/bodygt lt/htmlgt
13
Membresía y logins
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
14
Perfiles
  • Almacenar datos personales persistentemente
  • Acceso con tipos fuertes (a diferencia del estado
    en la sesión)
  • Búsqueda por demanda (a diferencia del estado en
    la sesión)
  • Persistente (a diferencia del estado en la
    sesión)
  • Soporta usuarios anónimos y autenticados
  • Acceso a través de derivados de HttpProfileBase
    compilados dinámicamente (HttpProfile)
  • Basado en proveedores lo que permite
    almacenamiento flexible

15
Definición de un perfil
ltconfigurationgt ltsystem.webgt ltprofilegt
ltpropertiesgt ltadd name"ScreenName" /gt
ltadd name"Posts" type"System.Int32"
defaultValue"0" /gt ltadd name"LastPost"
type"System.DateTime" /gt lt/propertiesgt
lt/profilegt lt/system.webgt lt/configurationgt
16
Uso de un perfil
// Increment the current user's post
count Profile.Posts Profile.Posts 1 //
Update the current user's last post
date Profile.LastPost DateTime.Now
17
Persistencia de datos con perfiles
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
18
Navegación del sitio
  • Las IU de navegación son tediosas de implementar
  • Especialmente si se basan en scripts en el
    cliente
  • Nuevos controles simplifican la navegación del
    sitio
  • TreeView y Menu IU de navigación
  • SiteMapDataSource Mapas XML del sitio
  • SiteMapPath Control de rastro de migas"
  • Una API pública provee el fundamento para los
    controles
  • Basado en proveedores para mayor flexibilidad

19
Navegación en el sitio dirigida por datos
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
20
Proveedores
  • Nuevo modelo para almacenar y administrar el
    estado
  • Hace al almacenamiento adaptable a diferentes
    medios
  • Usado por muchos servicios clave de ASP.NET
  • Servicio de membresía
  • Servicio de administración de roles y más
  • Los proveedores pre-construidos hacen el
    almacenamiento del estado de ASP.NET muy flexible
  • Los proveedores personalizados lo hacen
    infinitamente flexible

21
El modelo de proveedores
Controles
Login
LoginStatus
LoginView
Otros controlesde login
API de membresía
Membership
MembershipUser
Proveedores de membresía
AccessMembershipProvider
Otros proveedoresde membresía
SqlMembershipProvider
Datos demembresía
Access
SQL Server
Otros almacenesde datos
22
Configuración
  • Herramientas administrativas
  • Snap-in de MMC para ASP.NET
  • Herramienta de administración del sitio web
    (Webadmin.axd)
  • API de configuración
  • Acceso de lectura/escritura a los settings de
    configuración
  • Secciones personalizadas de configuración más
    simples
  • Instrumentación
  • Contadores de rendimiento, monitoreo de salud y
    más

23
Herramienta de administración del sitio web
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
24
Partes web
  • Framework para la construcción de aplicaciones
    estilo portal
  • Sigue el patrón de SharePoint Portal Server
  • System.Web.UI.WebControls.WebParts
  • IUs ricas con un mínimo de código
  • Edición de la distribución de la página usando
    arrastrar-y-soltar
  • Edición de la apariencia, el comportamiento y más
  • Personalización sin problemas
  • Intercomunicación (conexiones)

25
Partes web
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
26
Novedades en movilidad
  • Arquitectura de controles unificada
  • Los adaptadores permiten a las páginas y los
    controles presentar las etiquetas en diferentes
    tipos de dispositivos
  • Adaptadores WML provistos por terceros
  • Filtros de dispositivos

ltaspLabel Text"Hello, world" RunAt"server"
NokiaText"Hello, Nokia" UpText"Hello,
OpenWave" /gt
Navegadores OpenWave
Navegadores Nokia
27
Novedades en localización
  • Manejo de Auto-cultura
  • Mapeo declarativo de las cabeceras
    Accept-Language a las propiedades relevantes de
    la hebra
  • Manejo de recursos simplificado
  • Mapeo declarativo de propiedades de los controles
    a recursos usando expresiones lt gt
  • Carga de recursos programática usando tipos
    fuertes
  • ltasplocalize runat"server"gt y más

28
Novedades en compilación
  • Autocompilación de cualquier recurso
  • Archivos CS, archivos VB, archivos RESX, etc.
  • Basta poner los archivos en directorios
    especiales
  • Extensible mediante proveedores personalizados
  • Nuevo modelo de código-detrás (code-behind 2.0)
  • Corrige fragilidades de la versión 1
  • Basado en el soporte de clases parciales de los
    compiladores
  • Precompilación e instalación sin el código fuente

29
Compilación dinámica
vroot
CS
VB
Code
Archivos auto-compilados en el primer acceso
WSDL
XSD
Resources
RESX
RESOURCE
30
Proveedores de construcción
  • Componentes que autocompilan archivos
  • La sección de configuración
  • ltbuildProvidersgt mapea tipos de archivos y
    directorios a proveedores de construcción

ltcompilation ... gt ltbuildProvidersgt ltadd
extension".resx" appliesTo"Code,Resources"
type"System.Web.Compilation.ResXBuildProvider"
/gt ltadd extension".wsdl" appliesTo"Code"
type"System.Web.Compilation.WsdlBuildProvider"
/gt ltadd extension".xsd" appliesTo"Code"
type"System.Web.Compilation.XsdBuildProvider"
/gt ... lt/buildProvidersgt lt/compilationgt
31
Code-Behind 2.0
Hello.aspx
lt_at_ Page CompileWith"Hello.aspx.cs"
ClassName"MyPage_aspx" gt lthtmlgt ltbodygt
ltform runat"server"gt ltaspTextBox
ID"Input" RunAt"server" /gt ltaspButton
Text"Test" OnClick"OnTest" RunAt"server" /gt
ltaspLabel ID"Output" RunAt"server" /gt
lt/formgt lt/bodygt lt/htmlgt
32
Code-Behind 2.0, Cont.
Hello.aspx.cs
using System partial class MyPage_aspx
void OnTest (Object sender, EventArgs e)
Output.Text "Hello, " Input.Text
33
Precompilación
  • Precompile.axd precompila sitios in-situ para
    evitar las demoras del primer acceso

34
Instalación sin el código fuente
  • Aspnet_compiler.exe precompila sitios y los
    instala sin el código fuente

35
Compilación dinámica
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
36
Expresiones
  • Mecanismo declarativo para cargar recursos,
    cadenas de conexión y más

ASPX
ltaspSqlDataSource ID"Titles" RunAt"server"
ConnectionString"lt ConnectionStringsPubs gt"
SelectCommand"select title_id, title, price
from titles" /gt
Web.config
ltconfigurationgt ltconnectionStringsgt ltadd
name"Pubs" connectionString"serverlocalho
stdatabasepubs..." /gt lt/connectionStringsgt lt/
configurationgt
37
Constructores de expresiones
  • Componentes que evalúan expresiones
  • La sección de configuración ltexpressionBuildersgt
    mapea prefijos a constructores de expresiones

ltcompilation ... gt ltexpressionBuildersgt
ltadd expressionPrefix"Resources"
type"System.Web.Compilation.ResourceExpressionBui
lder" /gt ltadd expressionPrefix"ConnectionStri
ngs" type"System.Web.Compilation.Connection
StringsExpressionBuilder" /gt ltadd
expressionPrefix"AppSettings"
type"System.Web.Compilation.AppSettingsExpression
Builder" /gt lt/expressionBuildersgt lt/compilationgt
38
Constructores de expresiones personalizados
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
39
Posting entre páginas
  • Las páginas pueden ahora hacer postback a otras
    páginas
  • Propiedades relevantes
  • control.PostBackUrl Identifica al objetivo del
    postback
  • Page.PreviousPage Devuelve una referencia a la
    página que originó el postback entre páginas
  • PreviousPage.IsCrossPagePostBack Indica si
    ocurrió un postback entre páginas
  • La directiva _at_ PreviousPageType provee acceso de
    tipo fuerte a la página anterior

40
Post Back a una página diferente
lthtmlgt ltbodygt ltform runat"server"gt
ltaspTextBox ID"Input" RunAt"server" /gt
ltaspButton Text"Test" PostBackUrl"PageTwo.aspx"
RunAt"server" /gt lt/formgt lt/bodygt lt/htmlgt
41
Referencia a un control en una página anterior
(con tipos débiles)
lthtmlgt ltbodygt ltaspLabel ID"Output"
RunAt"server" /gt lt/bodygt lt/htmlgt ltscript
language"C" runat"server"gt void Page_Load
(Object sender, EventArgs e) if
(PreviousPage ! null PreviousPage.IsCrossPageP
ostBack) TextBox input (TextBox)
PreviousPage.FindControl ("Input")
Output.Text "Hello, " input.Text
lt/scriptgt
42
Referencia a un control en una página anterior
(con tipos fuertes)
lt_at_ PreviousPageType VirtualPath"/PageOne.aspx"
gt lthtmlgt ltbodygt ltaspLabel ID"Output"
RunAt"server" /gt lt/bodygt lt/htmlgt ltscript
language"C" runat"server"gt void Page_Load
(Object sender, EventArgs e) if
(PreviousPage ! null PreviousPage.IsCrossPageP
ostBack) Output.Text "Hello, "
PreviousPage.InputBox.Text lt/scriptgt
Propiedad pública envuelve al TextBox
43
Postbacks entre páginas
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
44
Grupos de validación
  • Los controles de validación ahora se pueden
    agrupar usando la nueva propiedad ValidationGroup
  • Implementada por los controles de validación
  • También implementada por los controles Button,
    LinkButton e ImageButton
  • Permite que la página haga post back cuando los
    validadores en el grupo objetivo son satisfechos
  • Corrige una deficiencia en ASP.NET 1.x

45
Grupos de validación
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
46
Callbacks de cliente
  • Postbacks livianos
  • El administrador de callback de cliente transmite
    solicitudes XML-HTTP asincrónicas al servidor
  • El servidor recibe y procesa la solicitud, pero
    no vuelve a presentar la página
  • El administrador de callback recibe la respuesta
    y notifica al cliente vía el callback registrado
  • Requiere Internet Explorer 5.0 o superior
  • Gran manera de mejorar el nivel de respuesta de
    la IU

47
Cómo funcionan los callbacks de cliente
Cliente
Servidor
1
2
Cliente
CallbackManager
Page
El cliente inicia un callback llamando a la
función devuelta por GetCallback-EventReference
El administrador de callback lanza una llamada
XML-HTTP asíncrona al servidor
3
El método RaiseCall-backEvent de la página es
llamado
4
5
El administrador de callback es notificado de que
la llamada ha sido completada
El cliente es notificado de que la llamada ha
sido completada y se le entrega el resultado
48
Callbacks de cliente
Edgar Sánchez Director Regional de Microsoft para
Ecuador Logic Studio
49
Quién tiene el foco?
  • En ASP.NET 1.x, se necesitaba un script de
    cliente para asignar el foco a un control
  • En ASP.NET 2.0, se usa Page.SetFocus

ltaspTextBox ID"UserName" RunAt"server" /gt .
. . ltscript language"C" runat"server"gt void
Page_Load (Object sender, EventArgs e)
SetFocus ("UserName") lt/scriptgt
50
Panel.DefaultButton
  • Designa al botón que hará clic cuando se presione
    Intro y el foco está en el panel
  • Le da la vuelta al hecho de que ASP.NET limita
    las páginas a un solo ltformgt runat"server"

ltaspPanel DefaultButton"Button1"
RunAt"server"gt ... ltaspButton
ID"Button1" ... /gt lt/aspPanelgt ltaspPanel
DefaultButton"Button2" RunAt"server"gt ...
ltaspButton ID"Button2" ... /gt lt/aspPanelgt
51
Mapeo de URL
  • Mapea URLs virtuales a URLs físicos
  • Bueno para la transformación declarativa de
    páginas físicas en múltiples páginas lógicas

lturlMappings enabled"true"gt ltadd
url"/Home.aspx" mappedUrl"/default.aspx?tabind
ex0" /gt ltadd url"/Forums.aspx"
mappedUrl"/default.aspx?tabindex1" /gt ltadd
url"/Faq.aspx" mappedUrl"/default.aspx?tabinde
x2" /gt lt/urlMappingsgt
URL virtual
URL físico
52
Machine.config
  • Las configuración por omisión están quemadas en
    el sistema
  • Reduce el tamaño de Machine.config
  • Mejora el rendimiento de inicio de la aplicación
  • Nuevos archivos relacionados con Machine.config
  • Machine.config.defaults Documenta los valores
    por omisión quemados en el runtime
  • Machine.config.comments Documenta la sintaxis
    de los elementos de configuración, muchos de los
    cuales son nuevos
  • En el mismo directorio que Machine.config

53
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com