A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Rodrigo Cristiano Silva

Apresentações semelhantes


Apresentação em tema: "Rodrigo Cristiano Silva"— Transcrição da apresentação:

1 Rodrigo Cristiano Silva rodrigo@facens.br
Tecnologias Web Rodrigo Cristiano Silva

2 Agenda Tecnologias Web

3 Personalização de Páginas
Páginas ASP.NET não requerem necessariamente um conjunto rico de funcionalidades de personalização, entretanto, se desenvolvermos uma camada efetiva de personalização em nossas aplicações Web, as páginas serão mais amigáveis, funcionais e atrativas. Nas versões 2.0 e 3.5 do ASP.NET, a personalização se apresenta como duas funcionalidades complementares: Profiles Themes O ASP.NET Profile foi projetado para armazenar de forma persistente dados estruturados de usuários através uma API amigável. Tecnologias Web

4 Personalização de Páginas
A aplicação define seu próprio modelo de dados personalizado e o ASP.NET se encarrega de interpretar e compilar o modelo em uma classe. Cada membro da classe personalizada de dados corresponde a parte das informações específicas ao usuário corrente da aplicação. O carregamento e a gravação dos dados personalizados são completamente transparentes ao usuário e nem mesmo o desenvolvedor precisa conhecer muito sobre o processos internos de manutenção dos dados. Tecnologias Web

5 Criando o User Profile No nível mais alto de abstração, um perfil de usuário é uma coleção de propriedades que o ASP.NET agrupa em uma classe gerada dinamicamente. Qualquer dado de perfil é armazenado em uma base de dados estruturada por usuário. Tais dados são permanentemente armazenados até que alguém com privilégios administrativos os apaguem. Quando a aplicação é executada e uma página é exibida, o ASP.NET cria um objeto profile dinamicamente que contém as propriedades definidas no modelo de dados. O objeto profile é atribuído a propriedade Profile da página que está sendo exibida. Tecnologias Web

6 Definição do Modelo de Dados
Para usar a API de perfil de usuário do ASP.NET, é necessário definir a estrutura do modelo de dados que se deseja utilizar. O layout do perfil de usuário é definido no arquivo web.config e consiste de uma lista de propriedades que podem assumir qualquer tipo da plataforma .NET. Podemos dizer que o modelo de dados é um bloco XML que descreve propriedades, incluindo o tipo .NET que cada uma delas assume. Se nenhum tipo for atribuído a uma propriedade, ela assumirá o tipo padrão System.String. Tecnologias Web

7 Exemplo de Modelo de Dados
Tecnologias Web

8 Representação da Classe de Perfil de Usuário
Tecnologias Web

9 Usando Coleções Valores não escalares tais como coleções e arrays devem ser serializados para serem armazenados na base de dados. O atributo serializeAs define o tipo de serialização que será adotada. Valores aceitos pela propriedade: String, XML, Binary and ProviderSpecific. Exemplo: Tecnologias Web

10 Usando Tipos Customizados
Podemos utilizar um tipo customizado com a camada de personalização do ASP.NET desde que ele seja serializável. Precisamos somente criar e compilar uma classe serializável, então utilizamos o nome do assembly no atributo type de uma propriedade do perfil de usuário. O assembly deve estar disponível para aplicação ASP.NET. Existem duas formas de disponibilizar um assembly para uma aplicação: Copiar o assembly para o diretório bin da aplicação; Registrar o assembly no GAC (Global Assembly Cache). Tecnologias Web

11 Agrupando Propriedades
A seção <properties> também aceita o elemento <group>. O elemento <group> nos permite agrupar propriedades relacionadas como se fossem propriedades de um objeto intermediário. Exemplo: Tecnologias Web

12 Criando a Base de Dados para o Profile
Tecnologias Web

13 Acessando Propriedades do Perfil de Usuário
Antes de um request iniciar seu ciclo de processamento, a propriedade Profile da página recebe uma instância da classe profile dinamicamente criada. Quando a página é carregada pela primeira vez, as propriedades do perfil do usuário apresentam seus valores padrões ou são objetos vazios, mas nunca serão nulos. Quando coleções ou tipos customizados são utilizados para definir propriedades, não é possível atribuir um valor padrão através de uma string no atributo defaultValue. Entretanto, tais propriedades podem ser inicializadas no evento Page_Load da página. Tecnologias Web

14 Acessando Propriedades do Perfil de Usuário
Considere o perfil definido pelo modelo de dados abaixo: Tecnologias Web

15 Acessando Propriedades do Perfil de Usuário
A página usa os dados do perfil do usuário para ajustar sua interface, como mostra o código abaixo: Tecnologias Web

16 Eventos de Personalização
A camada de personalização usa a identidade do usuário corrente como índice para recuperar os dados de seu perfil, mas como ficam as roles nesse cenário? E se tivermos centenas de usuários com diferentes nomes mas que compartilham os mesmos dados de perfil (tais como itens de menu, links e configurações da UI)? O mecanismo padrão de perfil do ASP.NET não sabe como manipular roles! Se quisermos tratar roles, será necessário assinar o evento Profile_Personalize e sobrescrever o processo que cria o objeto profile. O handler do evento Personalize recebe dados através da classe ProfileEventArgs que possui uma propriedade chamada Profile. Se essa propriedade receber uma instância de um objeto profile, este será o objeto atribuído a propriedade Profile das páginas. Tecnologias Web

17 Profile Providers A API de perfil de usuário do ASP.NET é composta por dois elementos distintos: A camada de acesso aos dados Modelo fortemente tipado para recuperar e atribuir dados as propriedades de um perfil de usuário A camada de armazenamento O ASP.NET traz um profile provider que usa o SQL Server 2005 Express O profile provider utiliza o mesmo banco de dados aspnetdb.mdf que o membership provider. Como já sabemos, esse banco de dados fica na pasta app_data da aplicação. Assim como o membership provider também podemos personalizar o profile provider. Podemos, por exemplo, mudar a string de conexão com o banco de dados para utilizarmos um banco diferente do padrão. Tecnologias Web


Carregar ppt "Rodrigo Cristiano Silva"

Apresentações semelhantes


Anúncios Google