Visão geral sobre propriedades de perfil do ASP.NET

Em muitos aplicativos, você deseja armazenar e usar informações que sejam únicas para um usuário.Quando um usuário visita seu site, você pode usar as informações que armazenou para apresentar ao usuário uma versão personalizada do seu aplicativo da Web.Personalizar um aplicativo requer um número de elementos: Você deve armazenar sistema autônomo informações usando um identificador exclusivo do usuário, ser capaz de reconhecer usuários quando eles visitar novamente e, em seguida, buscar sistema autônomo informações do usuário conforme necessário.Para simplificar seus aplicativos, você pode usar o recurso de perfil do ASP.NET, que pode realizar todas as essas tarefas para você.

O recurso de perfil do ASP.NET associa informações a um usuário individual e armazena as informações em um formato persistente.Perfis permitem que você gerencie informações do usuário sem exigir que crie e mantenha seu próprio banco de dados.Além disso, o recurso de perfil do ASP.NET disponibiliza a informações do usuário usando uma API fortemente tipada que você pode acessar de qualquer lugar em seu aplicativo.

Você pode armazenar objetos de qualquer tipo usando perfis.O recurso de perfil fornece um recurso de armazenamento genérico que permite que você defina e mantenha praticamente qualquer tipo de dados enquanto torna os dados disponíveis em uma maneira de tipo seguro.

Como funciona perfis do ASP.NET

Para usar perfis, primeiro habilite perfis modificando o arquivo de configuração para seu aplicativo ASP.NET.Como parte da configuração, você especifica um provedor de perfil, que é a classe base que executa as tarefas de nível baixo de armazenamento e recuperação de dados de perfil.Você pode usar o provedor de perfil incluído com o .NET Framework, que armazena os dados do perfil no SQL Server, ou você pode criar e usar seu próprio provedor de perfil conforme descrito no tópico Implementando um provedor perfil.Você pode especificar uma instância do SqlProfileProvider, que conecta a um banco de dados de sua escolha, ou você pode usar a instância padrão do SqlProfileProvider, que armazena os dados do perfil no servidor Web local.

Você configura o recurso de perfil definindo uma lista de propriedades cujos valores você deseja manter.Por exemplo, convém armazenar um código postal do usuário para que o aplicativo possa oferecer informações específicas da região, como relatórios de meteorologia.No arquivo de configuração, você deve definir uma propriedade de perfil chamada PostalCode.A seção profile do arquivo de configuração pode parecer com o seguinte:

<profile>
  <properties>
    <add name="PostalCode" />
  </properties>
</profile>

Quando seu aplicativo é executado, o ASP.NET cria uma classe ProfileCommon, que é uma classe gerada dinamicamente que herda da classe ProfileBase.A classe dinâmica ProfileCommon inclui propriedades criadas a partir das definições de propriedade de perfil que você especificar na sua configuração de aplicativo.Uma instância desta classe dinâmica ProfileCommoné então definida como o valor da propriedade Profile do atual HttpContext e está disponível para páginas em seu aplicativo.

Em seu aplicativo, você coleta o valor ou valores que deseja armazenar e os atribui às propriedades de perfil que você definiu.Por exemplo, a home page de seu aplicativo pode conter uma caixa de texto que solicita ao usuário para digitar um código postal.Quando o usuário insere um código postal, você define uma propriedade Profile para armazenar o valor para o usuário atual, como no exemplo a seguir:

Profile.PostalCode = txtPostalCode.Text
Profile.PostalCode = txtPostalCode.Text;

Quando você definir um valor para Profile.PostalCode, o valor é armazenado automaticamente para o usuário atual.Você não precisa escrever código algum para determinar quem é o usuário atual ou explicitamente armazenar o valor em um banco de dados — o recurso de perfil executa essas tarefas para você.

Quando você deseja usar o valor, você pode obtê-lo da mesma maneira que você o definiu.Por exemplo, o exemplo de código a seguir mostra como chamar uma função imaginária nomeada GetWeatherInfo, passando-lhe o código postal do usuário atual como armazenado em um perfil:

weatherInfo = GetWeatherInfo( Profile.PostalCode )
weatherInfo = GetWeatherInfo( Profile.PostalCode );

Não é preciso explicitamente determinar quem é o usuário ou executar qualquer pesquisas ao banco de dados.Simplesmente obtendo o valor da propriedade de um perfil faz o ASP.NET executar as ações necessárias para identificar o usuário atual e pesquisar o valor no armazenamento de perfil persistente.

Consulte também

Conceitos

Visão geral sobre propriedades de perfil do ASP.NET

Identificação de usuário para propriedades de perfil ASP.NET

Definir propriedades de perfil ASP.NET

Provedores de perfil ASP.NET