Pergunta

Eu estou procurando uma maneira de pesquisar através de cada perfil de usuários usando o ASP.Net Perfil Provider standard. Isso é possível, ou devo criar um novo provedor de perfil?

Aqui está o cenário:

  • registros de usuários
  • conjuntos de usuários até o seu perfil (cor favorita, livro favorito, país, etc)
  • O usuário é então capaz de ver alguns dos outros usuários que, por exemplo, têm uma cor favorita de "Green"

Eu gostaria de usar tudo isso através dos provedores de associação / perfil sem ter que código contra o banco de dados diretamente.

Foi útil?

Solução

A funcionalidade que você deseja está incluído no perfil API.

Você pode obter um perfil de usuários individuais usando:

HttpProfile profile = Profile.GetProfile("Fred");

Você pode obter todos os perfis usando:

var allUsers = Membership.GetAllUsers();
foreach (MembershipUser user in allUsers)
{
    var prof = ProfileBase.Create(user.UserName, true);
}

Outras dicas

Eu acredito que o provedor padrão irá funcionar apenas para o usuário atual. Você precisaria de um provedor de perfil personalizado para recuperar as informações para outros usuários. Felizmente é realmente fácil de fazer . Essa ligação tem um exemplo de um provedor personalizado que lhe permite recuperar os perfis de outros usuários. Se você usar o seu exemplo, certifique-se de observar o comentário da pessoa sobre a remoção da seção de perfil do seu web.config. Eu tive que fazer isso para fazer o meu trabalho corretamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top