Jorge Oblitas - PowerPoint PPT Presentation

lotus
jorge oblitas l.
Skip this Video
Loading SlideShow in 5 Seconds..
Jorge Oblitas PowerPoint Presentation
Download Presentation
Jorge Oblitas

play fullscreen
1 / 44
Download Presentation
Jorge Oblitas
268 Views
Download Presentation

Jorge Oblitas

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Jorge Oblitas Consultor para los programas Panorama Box y DCE Soluciones Intranet premiadas en Perú y EE.UU. Creador del curso para la segunda estrella DCE Bajista desde 1984 Aficionado a los Golden Retrievers y Beagles Consultor en tecnología asociada a la gestión del Conocimiento Ha sido miembro de los programas Microsoft Regional Director (desde el 2000) Microsoft Partner Advisory Council (2002)

  2. “Webcast Series” • Introducción a las ASP.NET para desarrolladores ASP/PHP • Introducción a las ASP.NET 2.0 para desarrolladores ASP.NET • Creación de aplicaciones Web con acceso a datos usando ASP.NET2.0 • Creando aplicaciones seguras a través del uso de membresía y manejo de roles con Visual Studio 2005 y ASP.NET 2.0 • Usando "Profiles" en ASP.NET 2.0 y localizando aplicaciones. • Extendiendo ASP.NET 2.0 a través del modelo basado en proveedores (provider model)

  3. Anteriores • Diferencias entre el XML y el HTML • ¿Las MasterPages reemplazan a los controles de usuario? • Si ya tengo una página sin masterpage... ¿Cómo le agrego el masterpage?

  4. XML, HTML Jorge jorgeo@icuadrado.com8155555 <negrita>Jorge</negrita><br> <cursiva color=rojo>jorgeo@icuadrado.com</cursiva> 8155555 <Contacto> <Nombre>Jorge</Nombre> <Email:>jorgeo@icuadrado.com</Email> <Telefono> 8155555</Telefono> </Contacto> XML

  5. Introducción a las ASP.NET 2.0 para desarrolladores ASP.NET 1.x Jorge Oblitas Inteligencia e Innovación Microsoft Regional Director

  6. Un vistazo a lo nuevo Data Controls Login Controls Web Parts Otros controlesNuevos Controles Master Pages Temas y Skins Mobility y Localización Compilación Page Framework Membership Manejo deRoles Perfiles Configuración Servicios y APIs Site Maps Monitoreo dela salud OtrosServicios

  7. Qué hay de nuevo en acceso a datos • Data source controls • 2-way data binding Declarativo • Data controls • GridView – Como el Datagrid, sólo que es mejor • DetailsView – Acompañante del GridView • SQL cache dependencies • Relaciona ítems en el caché con entidades de la base de datos • Expresiones data binding simplificadas

  8. Data Binding en ASP.NET 1.x <asp:DataGrid ID="MyDataGrid" RunAt="server" /> ... <script language="C#" runat="server"> void Page_Load (Object sender, EventArgs e) { SqlConnection connection = new SqlConnection ("server=localhost;database=pubs;integrated security=true"); try { connection.Open (); SqlCommand command = new SqlCommand ("select title_id, titles, price from titles"); MyDataGrid.DataSource = command.ExecuteReader (); MyDataGrid.DataBind (); } finally { connection.Close (); } } </script>

  9. Data Binding en ASP.NET 2.0 <asp:SqlDataSource ID="Titles" RunAt="server" ConnectionString="server=localhost;database=pubs;integrated security=true" SelectCommand="select title_id, title, price from titles" /> <asp:DataGrid DataSourceID="Titles" RunAt="server" />

  10. Data Binding declarativo

  11. Providers • Nuevo modelo para el almacenamiento y administración del estado. • Hace que el almacenamiento sea adaptable a la media • Usado por muchos servicios ASP.NET • Membership service • Role Management service y más • Los providers incluidos hacen que el almacenamiento del estado en ASP.NET sea bastante flexible • Providers personalizados lo hacen infinitamente flexible

  12. El modelo de providers Controles Login LoginStatus LoginView Otros Login Controls Membership API Membership MembershipUser Membership Providers AccessMembershipProvider SqlMembershipProvider otros Membership Providers Membership Data Access SQL Server Otros Data Stores

  13. Configuración • Herramientas administrativas • ASP.NET MMC snap-in • Web Site Administration Tool (Webadmin.axd) • Configuration API • Acceso de Lectura/escritura a los configuration settings • Secciones de configuración personalizadas simplificadas • Instrumentación • Perf counters, health monitoring, y más

  14. Web Site Administration Tool

  15. Qué hay de nuevo en UIs • Master pages • “Herencia Visual" para las páginas Web • Se aplica de forma declarativa o programática • Temas y skins • Theme controls, páginas, y sitios enteros • Se aplica declarativa y programáticamente • Nuevos controles (más de 50 en total) • Menúes, TreeViews, Wizards, y más

  16. La solución ASP.NET 1.x User Control UserControl Contenido

  17. User Control User Control User COntrol User COntrol Herencia Visual Contenido Mi_Pagina.aspx

  18. Master Pages

  19. Qué hay de nuevo en Seguridad • Membership service • Servicio para administrar usuarios y credenciales. • Basado en providers para un almacenamiento de datos flexible. • Login controls • Controls para el logueo, creación de nuevos usuarios, recuperación de contraseñas y más. • Role Management service • Combina la autenticación por formularios con autorización basada en roles sin necesidad de codificar.

  20. El Control Login <html> <body> <form runat="server"> <asp:Login RunAt="server" /> </form> </body> </html>

  21. Membership y Logins

  22. Perfiles • Guarda datos por usuario de forma persistente. • Acceso Strongly typed (a diferencia del session state) • Búsqueda en demanda (a diferencia del session state) • De vida larga (a diferencia del session state) • Soprota usuarios autenticados y anónimos • Accedidoa través de derivativos de HttpProfileBase (HttpProfile) dinámicamente compilados. • Basado en providers para un almacenamiento de datos flexible.

  23. Definiendo un perfil <profile enabled="true" defaultProvider="QuickStartProfileSqlProvider" inherits="UserDefinedProfileClass"> <providers> <add name=“AspNetSqlProvider" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName=“LocalSqlServer" applicationName=“WCS2"/> </providers> <properties> <add name=“Nombre"/> <add name=“Avatar" type=“String"/> <group name=“DetallesUsuario"> <add name=“RazaPreferida" type=“String"/> </group> </properties> </profile> <anonymousIdentification enabled="true" cookieName=".ASPXANONYMOUS" cookieTimeout="43200" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All" cookieless="UseCookies"/>

  24. Data persistente con perfiles

  25. Navegación en el Sitio Web • Las UIs de navegación son tediosas de implementar. • Especialmente si están basadas en script del lado del cliente. • Nuevos controles simplifican la navegación en el Sitio. • TreeView y Menu - Navigation UI • SiteMapDataSource - XML site maps • SiteMapPath – controles “migas de pan" • API pública provee la base para los controles • Basada en providers para tener flexibilidad

  26. Navegación basada en datos

  27. Qué hay de nuevo en Localización • Manejo de Auto-culture • Mapeo Declarativo de los Lenguajes aceptados para las propiedades relevantes del thread • Manejo de recursos simplificado • Mapeo declarativo de las propiedades de lso controles a los recursos usando expresiones <%$ … %> • Carga de recursos programable “fuertemente tipeada” (Strongly typed) • <asp:localize runat="server"> y más

  28. Qué hay de nuevo en compilación • Autocompilar diferentes tipos de archivos • Archivos CS, VB, RESX, y por el estilo • Sólo hay que poner los archivos en los directorios especiales • Extensible con custom build providers • Nuevo modelo code-behind (code-behind 2.0) • Arregla las fragilidades de la versión 1 • Descansa sobre el soporte a clases parciales en los compiladores • Precompilación e implementación sin código fuente

  29. Compilación dinámica vroot CS VB App_Code Los archivos se autocompilan en el primer acceso WSDL XSD App_LocalResources RESX RESOURCE

  30. Compilación dinámica

  31. Expresiones $ • Mecanismo declarativo para cargar recursos, cadenas de conexión, y más ASPX <asp:SqlDataSource ID="Titles" RunAt="server" ConnectionString="<%$ ConnectionStrings:Pubs %>" SelectCommand="select title_id, title, price from titles" /> Web.config <configuration> <connectionStrings> <add name="Pubs" connectionString="server=localhost;database=pubs;..." /> </connectionStrings> </configuration>

  32. Expression Builders • Componentes que evaluan las expresiones $ • La sección de configuración <expressionBuilders> mapea los prefijos a hacia los expression builders <compilation ... > <expressionBuilders> <add expressionPrefix="Resources" type="System.Web.Compilation.ResourceExpressionBuilder" /> <add expressionPrefix="ConnectionStrings" type="System.Web.Compilation.ConnectionStringsExpressionBuilder" /> <add expressionPrefix="AppSettings" type="System.Web.Compilation.AppSettingsExpressionBuilder" /> </expressionBuilders> </compilation>

  33. Cross-Page Posting • Las páginas pueden postear hacia otras páginas • Propiedades relevantes • control.PostBackUrl – Identifica la página objetivo del postback • Page.PreviousPage – Retorna la referencia a la pagina que originó el cross-page postback • PreviousPage.IsCrossPagePostBack – Revela si ha ocurrido o no un cross-page postback • La directiva @ PreviousPageType da acceso fuertemente tipeado a la página previa.

  34. Haciendo Post Back a otra página <html> <body> <form runat="server"> <asp:TextBox ID="Input" RunAt="server" /> <asp:Button Text="Test" PostBackUrl="PageTwo.aspx" RunAt="server" /> </form> </body> </html>

  35. Cross-Page Postbacks

  36. Callbacks desde el cliente • "Lightweight" postbacks • El Client-side callback manager transmite request XML-HTTP asincrónicos al servidor • El servidor recibe y procesa el request pero no vuelve a pintar la página • El callback manager recibe la respuesta y notifica al cliente a través del callback registrado • Requiere Internet Explorer 5.0 o superior • Una gran manera de mejorar la respuesta de la Interface de Usuario

  37. Cómo trabajan los Client Callbacks Cliente Servidor 1 2 Cliente Callback Manager Página El Client inicia el callback llamando a la función que retorna el GetCallback-EventReference El Callback manager lanza el XML-HTTP asincrónico al servidor 3 EL evento RaiseCall-backEvent method de la página es llamado 5 4 El cliente recibe la notificacion de que el llamado ha sido completadoy maneja el resultado El Callback manager recibe la notificación de que el llamdo ha sido completado

  38. Quien tiene el foco? • en ASP.NET 1.x, el script cliente se necesita para poner el foco en un control • En ASP.NET 2.0, usamos Page.SetFocus <asp:TextBox ID="UserName" RunAt="server" /> . . . <script language="C#" runat="server"> void Page_Load (Object sender, EventArgs e) { SetFocus ("UserName"); } </script>

  39. Panel.DefaultButton • Designa el botón a ser "clickeado" cuando se presiona ENTER y el foco está en el panel • Es un Work-around para el hecho de que las ASP.NET limitan las páginas a un solo runat="server" en el FORM

  40. Web Parts • Framework para la construcción de aplicaciones al estilo portal • Al estilo SharePoint Portal Server • System.Web.UI.WebControls.WebParts • Interface de usuario Rica con mínimo código • Editr la composición de la página usando drag-and-drop • Editar la apariencia, la conducta y más • Personalización “facilísima” • Intercomunicación ("conexiones")

  41. Web Parts

  42. Preguntas