사용자 프로필에 내장된 ASP.NET과이전 스타일의 사용자 클래스/테이블

StackOverflow https://stackoverflow.com/questions/1683

  •  08-06-2019
  •  | 
  •  

문제

ASP.NET의 프로필 기능 사용과 관련된 모범 사례에 대한 지침을 찾고 있습니다.

내장된 사용자 프로필에 무엇을 보관해야 하는지, 아니면 자신만의 데이터베이스 테이블을 만들고 원하는 필드에 대한 열을 추가해야 하는지 어떻게 결정합니까?예를 들어, 사용자에게 우편번호가 있는 경우, 우편번호를 자체 테이블에 저장해야 합니까, 아니면 web.config xml 프로필에 추가하고 사용자 프로필 ASP.NET 메커니즘을 통해 액세스해야 합니까?

지금 생각나는 장단점은 프로필을 잘 모르기 때문에(약간 행렬 지금은) 테이블 경로로 가면 내가 원하는 것은 무엇이든 할 수 있을 것입니다(예: 현재 사용자와 동일한 우편번호에 있는 모든 사용자를 가져오는 SQL).ASP.NET 프로필을 사용하면 동일한 작업을 수행할 수 있는지 모르겠습니다.

도움이 되었습니까?

해결책

저는 프로필 제공자를 사용하는 애플리케이션을 2개만 만들었습니다.그 이후로 나는 그것을 사용하지 않았습니다.두 앱 모두 회사 이름, 주소, 전화번호 등 사용자에 대한 정보를 저장하는 데 사용했습니다.

클라이언트가 이러한 필드 중 하나로 사용자를 찾을 수 있기를 원할 때까지 이는 잘 작동했습니다.루핑 관련 검색 모든 사용자는 프로필을 작성하고 정보를 검색 기준과 비교합니다.사용자 기반이 성장함에 따라 고객이 검색 시간을 감당할 수 없게 되었습니다.유일한 해결책은 사용자 정보를 저장할 테이블을 만드는 것이었습니다.검색 속도가 엄청나게 향상되었습니다.

이러한 유형의 정보는 자체 테이블에 저장하는 것이 좋습니다.

다른 팁

사용자 프로필은 개별 사용자 정의(일명)를 위한 훌륭하고 깔끔한 프레임워크입니다.프로필 속성).(예:igoogle) 문제의 문제는 쿼리 용으로 설계되지 않았으며 공개 사용자와의 데이터 공유에 이상적이지 않습니다. (성능이 낮은 상태에서도 여전히 수행 할 수 있습니다)

따라서 맞춤형 사용자 경험을 향상시키고 싶다면 사용자 프로필을 사용하는 것이 좋습니다.그렇지 않으면 자신의 클래스와 테이블을 사용하는 것이 훨씬 더 나은 솔루션이 될 것입니다.

내 경험에 따르면 프로필의 정보를 최소한으로 유지하고 인증에 직접 필요한 필수 항목만 입력하는 것이 가장 좋습니다.주소와 같은 기타 정보는 자체 애플리케이션 로직을 통해 자체 데이터베이스에 저장되어야 하며, 이 접근 방식은 더 확장 가능하고 유지 관리가 용이합니다.

나는 그것이 얼마나 많은 필드가 필요한지에 달려 있다고 생각합니다.내가 아는 바로는 프로필은 기본적으로 지정된 필드 크기로 분할되는 긴 문자열입니다. 즉, 필드와 사용자가 많으면 확장이 잘 되지 않습니다.

반면에 내장되어 있으므로 쉽고 표준화된 방식이므로 큰 학습 곡선이 없으며 새로운 테이블 구조로 조정할 필요 없이 향후 앱에서도 사용할 수 있습니다.

자신만의 것을 롤링하면 적절하게 정규화된 데이터베이스에 넣을 수 있어 성능이 크게 향상되지만 거의 모든 프로필 관리 코드를 직접 작성해야 합니다.

편집하다:또한 프로필은 캐시되지 않으므로 프로필에 대한 모든 액세스는 먼저 데이터베이스로 이동합니다. 그런 다음 해당 요청에 대해 캐시되지만 다음 요청에서는 데이터베이스에서 다시 가져옵니다.

자신만의 글을 쓰려고 생각하고 있다면 아마도 맞춤형 프로필 제공자 원활한 통합과 동시에 원하는 사용자 정의 작업이라는 두 가지 장점을 모두 제공합니다.

나는 사용자가 어쨌든 로그인할 때만 일반적으로 중요한 사용자에게 중요하지 않은 보충 데이터에 사용하는 것이 더 낫다고 생각합니다.모두 지워도 아무 것도 깨지지 않을 데이터를 중요하게 생각하세요.

물론 그것은 개인적인 취향이지만 다른 사람들은 다른 중요한 문제를 제기했습니다.

또한 프로필이 익명 쿠키로 유지되는 인증되지 않은 사용자에게 사용될 수 있다는 점을 고려하면 매우 유용합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top