ASP.NET zbudowany w profilu użytkownika vs. starym stylu klasy użytkownik / Stoły

głosy
18

Szukam wskazówek dotyczących najlepszych praktyk wokół użyciu funkcji Profile w ASP.NET.

Jak zdecydować, co powinno być przechowywane we wbudowanej w profilu użytkownika, czy należy utworzyć własną tabelę bazy danych i dodać kolumnę żądanych pól? Na przykład, użytkownik ma kod pocztowy, należy zapisać kod pocztowy w moim stole, czy mam dodać go do profilu xml web.config i uzyskać do niego dostęp za pośrednictwem mechanizmu profil użytkownika ASP.NET?

Plusy / minusy mogę myśleć teraz jest to, że ponieważ nie wiem profil bardzo dobrze (jest trochę Matrix teraz), to prawdopodobnie może robić, co chcę, jeśli pójdę trasę tabeli (np SQL, aby wszyscy użytkownicy w tym samym kodem pocztowym jako bieżącego użytkownika). Nie wiem, czy mogę zrobić to samo, jeśli mogę użyć profilu ASP.NET.

Utwórz 05/08/2008 o 00:06
źródło użytkownik
W innych językach...                            


5 odpowiedzi

głosy
10

Ive tylko zbudowany 2 aplikacje używane dostawcy profil. Od tamtej pory z dala od jej stosowania. Dla obu aplikacjach Używałem go do przechowywania informacji o użytkowniku, takich jak nazwa firmy, adres i numer telefonu.

To działało w porządku, dopóki nasz klient chciał, aby móc znaleźć użytkownika przez jednego z tych pól. Poszukiwania zaangażowany zapętlenie poprzez każdego profilu użytkownika i porównywania informacji do kryteriów wyszukiwania. Ponieważ baza użytkowników wzrosła czas wyszukiwania stał się nie do zaakceptowania przez klienta. Jedynym rozwiązaniem było utworzyć tabelę do przechowywania informacji użytkownikom. Szukaj prędkość została zwiększona ogromnie.

Polecam przechowywania tego typu informacji w swoim własnym stole.

Odpowiedział 06/08/2008 o 03:26
źródło użytkownik

głosy
1

profil użytkownika jest ładny, czysty ramy dla indywidualnego dostosowania (AKA. Profil Właściwości). (Np iGoogle) problem nie jest jej przeznaczony dla zapytania i nie nadaje się do udostępniania danych do użytkownika publicznego. (Nadal byłby w stanie to zrobić, o niskiej wydajności)

Tak więc, jeśli chcesz zwiększyć dostosowany interfejs użytkownika, profil użytkownika byłaby dobra droga. w przeciwnym razie, należy użyć własnej klasy i stół byłby dużo lepszym rozwiązaniem.

Odpowiedział 30/10/2009 o 00:42
źródło użytkownik

głosy
1

Myślę, że to zależy od tego, ile pól trzeba. Według mojej wiedzy, Profile są zasadniczo długi ciąg znaków, który zostanie podzielony na podanych rozmiarów pól, co oznacza, że ​​nie skala bardzo dobrze jeśli masz wiele pól i użytkowników.

Z drugiej strony, są one wbudowane, więc jest to łatwy i znormalizowany sposób, co oznacza, że ​​nie jest wielka krzywa uczenia się i można go używać w przyszłych aplikacjach, jak również bez konieczności dostosować go do nowej struktury tabeli.

Toczenia własne rzeczy pozwala umieścić go w odpowiednio znormalizowaną bazy danych, co znacznie poprawia wydajność, ale musisz napisać dość dużo wszystko profilu kod zarządzający siebie.

Edycja: Również Profile nie są buforowane, więc każdy dostęp do profilu idzie do pierwszej bazy (to wtedy w pamięci podręcznej dla tego wniosku, ale następny wniosek otrzyma go z bazy danych ponownie)

Jeśli myślisz o pisaniu własne rzeczy, może własny profil Provider daje najlepsze z obu światów - bezproblemową integrację, ale zwyczaj rzeczy chcesz zrobić.

Odpowiedział 05/08/2008 o 00:10
źródło użytkownik

głosy
1

Z mojego doświadczenia wynika wszelkich starań, aby zachować info w profilu do minimum, tylko umieścić tam podstawowe, które są bezpośrednio potrzebne do uwierzytelnienia. Inne informacje, takie jak adresy powinny być zapisane w bazie danych przez swojego własnego logiki aplikacji, takie podejście jest bardziej rozciągliwe i utrzymaniu.

Odpowiedział 05/08/2008 o 00:10
źródło użytkownik

głosy
0

Myślę, że to lepiej go używać dla danych uzupełniających, które nie są krytyczne dla użytkownika, który normalnie jest tylko ważne, że gdy użytkownik loguje się w każdym razie. Pomyśl, że dane nie będą niczego ważnego przerwę, jeśli to wszystko było wymazane.

Oczywiście to jest to osobiste preferencje, ale inni podniósł kilka innych ważnych kwestii.

Również bardzo przydatne biorąc pod uwagę to może być wykorzystane do niezidentyfikowany użytkownik, którego profil jest utrzymywany z anonimowym cookie.

Odpowiedział 05/12/2009 o 21:19
źródło użytkownik

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