Domanda

Sto cercando le linee guida riguardanti le migliori pratiche circa l'utilizzo delle funzionalità di Profilo in ASP.NET.

Come si fa a decidere che cosa deve essere conservato in built-in Profilo utente, o se è necessario creare la propria tabella di database e aggiungere una colonna per i campi desiderati?Per esempio, un utente ha un codice postale, devo salvare il codice di avviamento postale, nella mia tabella, o devo aggiungerlo al web.xml di configurazione del profilo e accedere tramite il profilo utente ASP.NET meccanismo?

I pro/contro che posso pensare in questo momento sono che dato che non conosco il profilo molto bene (è un po ' di Matrice ora, io probabilmente posso fare quello che voglio, se vado la tabella di route (ad esempio, SQL per ottenere tutti gli utenti con lo stesso codice postale dell'utente corrente).Non so se posso fare lo stesso se uso il ASP.NET profilo.

È stato utile?

Soluzione

Ive ha realizzato solo 2 le applicazioni che utilizzano il profilo del provider.Da allora ho soggiornato lontano da utilizzando di esso.Per entrambe le app che ho usato per memorizzare informazioni sull'utente, ad esempio il nome dell'azienda, indirizzo e numero di telefono.

Questo ha funzionato bene fino a che il nostro cliente ha voluto essere in grado di trovare un utente utilizzando uno di questi campi.La ricerca ha coinvolto un ciclo ogni il profilo di utenti e confrontare le informazioni per i criteri di ricerca.Come la base di utenti è cresciuto il tempo di ricerca è diventato inaccettabile per il nostro cliente.L'unica soluzione era quella di creare una tabella per memorizzare le informazioni degli utenti.Velocità di ricerca è stato aumentato immensamente.

Vorrei raccomandare la conservazione di questo tipo di informazioni nella propria tabella.

Altri suggerimenti

profilo utente è una bella pulita quadro per la personalizzazione individuale(AKA.Le Proprietà Del Profilo).(ad es.iGoogle) il problema è il suo non è stato progettato per l'esecuzione di query e non è l'ideale per la condivisione dei dati di un utente pubblico.(si sarebbe ancora in grado di farlo, con basse prestazioni)

quindi, se si desidera migliorare l'esperienza utente personalizzata, profilo utente, sarebbe un buon modo per andare.in caso contrario, utilizzare la propria classe e la tabella sarebbe una soluzione molto migliore.

Nella mia esperienza del suo meglio per tenere le info nel profilo al minimo, mettere solo gli elementi essenziali che sono direttamente necessarie per l'autenticazione.Altre informazioni come gli indirizzi devono essere salvati nella vostra propria base di dati dall'applicazione della logica di questo approccio è più flessibile e gestibile.

Penso che dipende dal numero di campi di cui hai bisogno.A mia conoscenza, i Profili sono essenzialmente una lunga stringa che si fa spaccare il dato le dimensioni del campo, il che significa che non scala molto bene, se si hanno molti campi e gli utenti.

D'altra parte, essi sono costruiti, e quindi è un modo facile e modo standardizzato, il che significa che non c'è una grande curva di apprendimento, che si può utilizzare in futuro app senza la necessità di modificarlo per una nuova struttura della tabella.

Rotolare il vostro proprio cosa permette di mettere in una correttamente database normalizzato, che migliora drasticamente le prestazioni, ma è necessario scrivere praticamente tutto il profilo della gestione codice di te.

Edit:Inoltre, i Profili non vengono memorizzati nella cache, in modo che ogni accesso a un profilo va al database (è quindi memorizzati nella cache per la richiesta, ma la prossima richiesta sarà ottenere dalla banca dati di nuovo)

Se stai pensando di scrivere le proprie cose, forse un Profilo personalizzato Fornitore dà il meglio di entrambi i mondi - l'integrazione seamless, la sicurezza il materiale personalizzato che si desidera fare.

Penso che sia meglio utilizzarlo per i dati supplementari che non è fondamentale per l'utente che è solo normalmente importante quando l'utente esegue l'accesso in ogni modo.Pensare di dati che non rompa nulla di importante se è stato tutto cancellato.

naturalmente che di preferenza personale, ma gli altri hanno sollevato alcune altre questioni più importanti.

Anche molto utile considerando che può essere utilizzato per un utente non autenticato il cui profilo è mantenuta con un anonimo del cookie.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top