Tutorial de ASP.NET
Vista Previa de ASP.NET 2.0

Definiendo las Propiedades del Perfil con una Classe Base Personalizada

El web.config mostrado antes incluía un atributo llamado inherits en el elementeo <profile>. Este atributo instruye a ASP.NET a autogenerar una clase para la propiedad Profile herendando de una clase personalizada. En este ejemplo, el nombre de la clase es UserDefinedProfileClass y se encuentra en el directorio App_Code. La clase personalizada hereda de ProfileBase porque la clase autogenerada para la propiedad Profile debe tener siempre ProfileBase en la jerarquía de herencia. Cualquier propiedad pública definida en una clase base personalizada es visible y utilizable desde la propiedad Profile.

Ejecutamos el ejemplo e iniciamos sesión. En la página de propiedades, los datos del listbox ,que contienen las preferencias de comida basura, se almacenan mediante la propiedad definida en la clase base personalizada. De la misma forma que con otras propiedades del Perfil, las preferencias de comida se acceden mediante la sintaxis estándar de una propiedad:
Profile.JunkFood.

La ventaja de definir una clase base personalizada reside en que los desarrolladores pueden "interceptar" los sets y gets de las propiedades e implementar una lógica de negocio compleja en los métodos get y set de las propiedades. En el código del ejemplo, la clase base personalizada define una propiedad utilizando Generics. La definición de la propiedad muestra los requerimientos mínimos: la implementación de la propiedad debe llamar a la clase base, ya que ésta clase
(ProfileBase) es la que contiene la lógica para serializar los datos, así como para comunicarse con el/los proveedor/es subyacentes.

Esquema de perfil en web.config

C# Utilizando una Clase Base Personalizada