La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Jorge Oblitas Consultor en tecnología asociada a la gestión del Conocimiento Ha sido miembro de los programas Microsoft Regional Director (desde el 2000)

Presentaciones similares


Presentación del tema: "Jorge Oblitas Consultor en tecnología asociada a la gestión del Conocimiento Ha sido miembro de los programas Microsoft Regional Director (desde el 2000)"— Transcripción de la presentación:

1 Jorge Oblitas 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) 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

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 Jorge Oblitas Inteligencia e Innovación Microsoft Regional Director

4 Ciclo de vida del page framework Page.InitializeCulture: Aquí podemos manejar UICulture y Culture para la localización ; Page.OnPreInit, Page_PreInit, Aquí podemos configurar dinámicamente el Page.Theme o el Page.MasterPageFile; Control.LoadControlState, Control.SaveControlState manejan de modo explícito la funcionalidad del manejo de estado. Nuevos eventos página: OnInitComplete, OnPreLoad, OnLoadComplete, OnPreRenderComplete, OnSaveStateComplete etc.

5 Server Controls Runtime Los User Controls, (.ASCX) se pueden ver en el desing view. Carpeta App_code

6 Clases Control Clase Control Clase WebControl CompositeControl CompositeControlDesigner

7 Manejo del estado Control-state Indice actual de la página Dato llave-valor (data key value) Los controles personalizados deben registrarse para usar control-state Idealmente en OnInit pero siempre antes de OnLoad Los controles personalizados deben proveer de manera explícita el manejo del SAVE and LOAD

8 Recursos Web Los Web resources permiten pegar los recursos en una assembly y pueden ser recogidos a través del web resources handler.

9 Call-backs Permiten que un control o página realice un postback al servidor sin que la página en si se vuelva a postear completamente.

10 Los Application Service Providers Membership Role Manager Session State Profile Site Navigation Site Counters Web Parts Personalization Web Events

11 Expression Builders Característica que permite agregar sintaxis declarativa a las propiedades de un control. Los expression builders que vienen en ASP.NET 2.0 son: Connection strings. Application settings. Resources..

12 Lo nuevo en Localización Detección automática del lenguaje del browser Expresiones de Localización declarativas Generación de Recursos Locales

13 Formato sensible a la cultura Configurar el lenguaje preferido en IE Auto detección del lenguaje del browser Sección globalization

14 Localización Auto detección del lenguaje aceptado a través del encabezado del HTTP request enviado por el browser. Expresión de recursos declarativa para unir los controles a las propiedades o a los recursos. Acceso programático a los recursos y recursos fuertemente tipeados (strongly-typed resources) Compilación automática y enlazado de los archivos RESX o RESOURCE en las runtime satellite assemblies Soporte en tiempo de diseño para la creación de recursos Modelo extensible

15 Resource expressions. Archivos RESX o RESOURCE Hay dos formas de resource expressions: explícita e implícita Explícita Implícita Recursos Globales y Locales

16 Expresiones implícitas a recursos locales

17 Almacenando preferencias de lenguaje Thread.CurrentThread.CurrentCulture y Thread.CurrentThread.CurrentUICulture van en el método InitializeCulture() porque la auto detección del lenguaje preferido del browser se da muy temprano en el ciclo de vida de la página.

18 Localización

19 El modelo basado en Proveedores En lugar de interactuar directamente con los data stores, los servicios clave en ASP.NET como el servicio Session state o el deMembresía usan providers para leer y escribir datos Esto hace el manejo de estado infinitamente extensible porque si las ASP.NET no incluyen un provider para el medio de almacenamiento con el que desean trabajar, pueden crear uno o comprarlo a un tercero

20 El Provider Model Membership API Membership Data Access otros Data Stores Controls Login LoginStatus LoginView AccessMembershipProvider Otros Membership Providers Otros Membership Providers Membership Providers Membership MembershipUser SqlMembershipProvider SQL Server otros Login Controls otros Login Controls

21 Por qué Providers? En ASP.NET 1.x el manejo del estado Muy avanzado en persistencia Limitaciones en cuanto a cómo y dónde se guardan los datos. Manejo del estado en ASP.NET 2.0 Basado en providers Máxima flexibilidad en cómo y dónde se guardan los datos Brinda una interface uniforme entre el ASP.NET run-time y los data stores físicos

22 Registro del provider

23 La clase ProviderBase Clase raíz para todas las clases provider System.Configuration.Provider namespace Clase base para derivados específicos a cada servicio public class ProviderBase : System.Object { public virtual string Name { get; } public virtual void Initialize (string name, NameValueCollection config); }

24 Derivados de ProviderBase ProviderBase ProtectedConfigurationProvider RSAProtectedConfigurationProvider DPAPIProtectedConfigurationProvider SettingsProvider ProfileProvider LocalFileSettingsProvider SqlProfileProvider AccessProfileProvider MembershipProvider SqlMembershipProvider AccessMembershipProvider RoleProvider AuthorizationStoreRoleProvider AccessRoleProvider WindowsTokenRoleProvider AspNetSqlRoleProvider

25 Derivados de ProviderBase, Cont. ProviderBase SiteCountersProvider SqlSiteCountersProvider AccessSiteCountersProvider SiteMapProvider StaticSiteMapProvider XmlSiteMapProvider PersonalizationProvider SqlPersonalizationProvider AccessPersonalizationProvider WebEventProvider MailWebEventProvider EventLogWebEventProvider SqlWebEventProvider WmiWebEventProvider TraceWebEventProvider TemplatedMailWebEventProvider SimpleMailWebEventProvider SessionStateStoreProviderBase

26 La clase MembershipProvider public class MembershipProvider : ProviderBase { // Public properties public abstract string ApplicationName { get; set; } public abstract bool EnablePasswordReset { get; } public abstract bool EnablePasswordRetrieval { get; } public abstract bool RequiresQuestionAndAnswer { get; } // Public methods public override void Initialize (string name, NameValueCollection config); public abstract bool ValidateUser (string name, string password); public abstract bool ChangePassword (...); public abstract MembershipUser CreateUser (...); public abstract bool DeleteUser (string name, bool deleteAllRelatedData); public abstract string GetPassword (string name, string answer); public abstract MembershipUser GetUser (string name, bool userIsOnline); public abstract string ResetPassword (string name, string answer); public abstract void UpdateUser (MembershipUser user);... }

27 Escribiendo un provider personalizado Elegir la clase base apropiada ProviderBase-derivative para un servicio existente ProviderBase para un nuevo servicio Derivar de la clase base Implementar los miembros de la clase abstracta Override los virtual class members conforme se requiera Optionalmente agregar miembros específicos El código debe ser thread-safe!

28

29 Enlaces ICUADRADO: http://www.icuadrado.comhttp://www.icuadrado.com Evento Latinoamericano de VSTS: http://www.icuadrado.com/chrismenegay.htm http://www.icuadrado.com/chrismenegay.htm Webcasts

30 Preguntas

31


Descargar ppt "Jorge Oblitas Consultor en tecnología asociada a la gestión del Conocimiento Ha sido miembro de los programas Microsoft Regional Director (desde el 2000)"

Presentaciones similares


Anuncios Google