ASP.NET construído em perfil de usuário vs. velho estilo de classe de usuário / tabelas

votos
18

Estou à procura de orientação sobre a melhor prática em torno do uso do recurso de perfil em ASP.NET.

Como você decide o que deve ser mantido no perfil do usuário built-in, ou se você deve criar seu próprio banco de dados tabela e adicionar uma coluna para os campos desejados? Por exemplo, um usuário tem um código postal, devo guardar o código postal em minha própria mesa, ou devo adicioná-lo ao perfil xml web.config e acessá-lo através do mecanismo de perfil do usuário ASP.NET?

As vantagens / desvantagens que posso pensar agora é que desde que eu não sei o perfil muito bem (que é um pouco de um Matrix agora), eu posso fazer o que eu quero, se eu ir a rota da tabela (por exemplo, SQL para obter todos os usuários do mesmo código postal como o usuário atual). Eu não sei se eu posso fazer o mesmo se eu usar o perfil ASP.NET.

Publicado 05/08/2008 em 00:06
fonte usuário
Em outras línguas...                            


5 respostas

votos
10

Ive só construiu 2 aplicações que utilizaram o provedor de perfil. Desde então, tenho ficado longe de usá-lo. Para ambos os aplicativos que eu usei-lo para armazenar informações sobre o usuário, como o nome da empresa, endereço e número de telefone.

Isso funcionou bem até o nosso cliente queria ser capaz de encontrar um usuário de um desses campos. Pesquisando envolvida loop através a cada perfil de utilizadores e comparando as informações para os critérios de pesquisa. À medida que a base de usuários cresceu o tempo de busca tornou-se inaceitável para o nosso cliente. A única solução era criar uma tabela para armazenar as informações de usuários. Velocidade de pesquisa foi aumentado imensamente.

Eu recomendaria armazenar esse tipo de informação em sua própria mesa.

Respondeu 06/08/2008 em 03:26
fonte usuário

votos
1

perfil de usuário é um quadro agradável, limpo para personalização indivíduo (AKA. Perfil Propriedades). (Por exemplo iGoogle) o problema dele é que não é projetado para consulta e não ideal para a partilha de dados para o usuário público. (Você ainda seria capaz de fazê-lo, com baixa performance)

Então, se você quer melhorar a experiência de usuário personalizada, perfil do usuário seria um bom caminho a percorrer. caso contrário, use sua própria classe e mesa seria uma solução muito melhor.

Respondeu 30/10/2009 em 00:42
fonte usuário

votos
1

Eu acho que depende de quantos campos você precisa. Para meu conhecimento, os perfis são, essencialmente, uma longa cadeia que se divide nos tamanhos de campo dadas, o que significa que eles não escala muito bem se você tiver muitos campos e usuários.

Por outro lado, eles são construídos em, por isso é uma maneira fácil e padronizada, o que significa que não há uma grande curva de aprendizagem e você pode usá-lo em futuras aplicações bem sem a necessidade de ajustá-lo para uma nova estrutura de tabela.

Rolando sua própria coisa permite que você colocá-lo em um banco de dados devidamente normalizado, o que melhora drasticamente o desempenho, mas você tem que escrever praticamente todo o código-gerente perfil si mesmo.

Edit: Além disso, perfis não são armazenados em cache, assim que cada acesso a um perfil vai para o banco de dados primeiro (é então armazenada em cache para essa solicitação, mas o próximo pedido vai buscá-la a partir do banco de dados novamente)

Se você está pensando em escrever sua própria coisa, talvez um provedor de perfil personalizado dá-lhe o melhor dos dois mundos - a integração perfeita, mas o material personalizado que você quer fazer.

Respondeu 05/08/2008 em 00:10
fonte usuário

votos
1

Na minha experiência, o seu melhor para manter um a informação no perfil para um mínimo, só colocar os fundamentos ali que estão diretamente necessários para autenticação. Outras informações, como endereços devem ser salvos no seu próprio banco de dados por sua própria lógica da aplicação, esta abordagem é mais extensível e de fácil manutenção.

Respondeu 05/08/2008 em 00:10
fonte usuário

votos
0

Eu acho que é melhor usá-lo para dados complementares que não é crítico para o usuário que só é normalmente importante quando o usuário está entrando de qualquer maneira. Pense dados que não iria quebrar alguma coisa importante se tudo foi apagado.

isso é claro preferência pessoal, mas outros têm levantado algumas outras questões importantes.

Considerando também muito útil que pode ser usado para um usuário não autenticado cujo perfil é mantida com um cookie anônimo.

Respondeu 05/12/2009 em 21:19
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more