in

DotNetSide

Dot Net South Italy Developers User Group

Tips

Membership APIs - L'enumerazione MembershipCreateStatus

Autore: Mario Ferrante

Quando si crea un nuovo utente utilizzando le Membership APIs (Membership e MembershipUser), può capitare che si vogliano catturare le eventuali eccezioni che questo processo può generare per fornire all’utente un messaggio più user friendly e dare più dettagli circa l’errore (ad esempio:”username già utilizzato da un altro utente”, “password invalida perché deve contenere almeno due caratteri non alfanumerici”, etc.).
Per fare questo possiamo utilizzare l’enumerazione MembershipCreateStatus.

Per poterla utilizzare devo prima creare una variabile di tipo MembershipCreateStatus, quindi passare per riferimento tale variabile al metodo CreateUser della classe Membership.

In questo modo la variabile può assumere diversi valori, da Success (utente creato con successo) a DuplicateUserName, InvalidPassword e così via.

Ecco un esempio di codice:

 

Dim status As MembershipCreateStatus 'la nostra variabile MembershipCreateStatus
Dim myuser As MembershipUser = _
Membership.CreateUser(username, _
password, email, question, answer, isActive, status)
'la variabile status viene passata Per Riferimento
If status = MembershipCreateStatus.Success Then
'la registrazione del nuovo utente è avvenuta con successo
Else
Select Case status
Case MembershipCreateStatus.InvalidPassword
Response.Write(
"La Password utilizzata non è nel formato corretto, assicurarsi che sia di almeno 6 caratteri e contenga un carattere non alfanumerico")
Case MembershipCreateStatus.DuplicateUserName
Response.Write(
"L'Username usata esiste già, cambiarla e continuare con la registrazione")
Case MembershipCreateStatus.DuplicateEmail
Response.Write(
"L'Email usata esiste già, cambiarla e continuare con la registrazione")
Case 'qui possiamo sfruttare altri valori dell’enumerazione
End Select
End If

Per maggiori dettagli si può dare uno sguardo al seguente link:
http://msdn2.microsoft.com/en-us/library/system.web.security.membershipcreatestatus.aspx

Only published comments... Nov 29 2006, 09:56 AM by VitoA
Filed under:

Comments

 

Mario Ferrante's Blog said:

Cliccando a questo link potete trovareun mio piccolo tip su come catturare eventuali errori e quindi

November 30, 2006 10:44 AM
 

anx721 said:

Ho notato questo modo di segnalare gli errori usato nella membership API. Ma perchè non hanno usato il meccanismo delle eccezioni? Cosi sembra di programmare in C...

January 12, 2007 9:33 AM
Powered by Community Server (Commercial Edition), by Telligent Systems