Get UserID e InvalidCastException
mbizzaro
mbizzaro non è online. Ultima attività: 27/01/2009 10.56.37mbizzaro
il 15 gennaio 2008 alle 11.09
288 messaggi dal 05 agosto 2005
Ciao Ragazzi,

Sto provando a recuperare lo UserId degli utenti logati nel mio sito.
In VB.net ho piazzato nell'evento del PageLoad questo codice:



Dim UserID As String

UserID = Membership.GetUser.ProviderUserKey().ToString


o



Dim UserID As String
Dim MemUser As MembershipUser

MemUser = Membership.GetUser
UserID = MemUser.ProviderUserKey.ToString



In entrambi i casi, ho questo errore:


InvalidCastexception was unhandled by user code

When casting from a number, the number must be a value less then infinity





Cosa c'è di sbagliato nel codice?

Grazie

Marco


Microsoft Most Valuable Professional
RE: Get UserID e InvalidCastException
nostromo
nostromo non è online. Ultima attività: 04/07/2009 1.44.08nostromo Top Poster
il 15 gennaio 2008 alle 11.47
GetUser non dovrebbe prendere come argomento il nome dell'utente?

comunque controlla sempre che il riferimento restituito dal metodo non sia nullo

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Get UserID e InvalidCastException
mbizzaro
mbizzaro non è online. Ultima attività: 27/01/2009 10.56.37mbizzaro
il 15 gennaio 2008 alle 13.15
288 messaggi dal 05 agosto 2005
Questo è l'errore che mi da il MemUser = Membership.GetUser:


System.InvalidCastException was unhandled by user code
Message="Specified cast is not valid."
Source="System.Data"
StackTrace:
at System.Data.SqlClient.SqlBuffer.get_SqlGuid()
at System.Data.SqlClient.SqlDataReader.GetGuid(Int32 i)
at System.Web.Security.SqlMembershipProvider.GetUser(String username, Boolean userIsOnline)
at System.Web.Security.Membership.GetUser(String username, Boolean userIsOnline)
at System.Web.Security.Membership.GetUser()
at Account_Details.Page_Load(Object sender, EventArgs e) in C:\Documents and Settings\mbizzaro\My Documents\Personal\Site_One\15_01_2008\Site_One\Personal_Account\Account_Details.aspx.vb:line 10
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Microsoft Most Valuable Professional
RE: Get UserID e InvalidCastException
nostromo
nostromo non è online. Ultima attività: 04/07/2009 1.44.08nostromo Top Poster
il 15 gennaio 2008 alle 13.57
non ricordavo che esiste un overload del metodo che restituisce l'utente loggato.

quindi prima domanda sei loggato quando esegui quel metodo?

l'oggetto MembershipUser che restituisce è null?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Get UserID e InvalidCastException
mbizzaro
mbizzaro non è online. Ultima attività: 27/01/2009 10.56.37mbizzaro
il 15 gennaio 2008 alle 14.04
288 messaggi dal 05 agosto 2005
Marco,

Ho risolto il problema con una query al DB, dove vado a prendermi lo UserId dello username dell'utente loggato.

Grazie lo stesso

Marco
Microsoft Most Valuable Professional
RE: Get UserID e InvalidCastException
nostromo
nostromo non è online. Ultima attività: 04/07/2009 1.44.08nostromo Top Poster
il 15 gennaio 2008 alle 14.18
bhe l'errore comunque è strano e soprattutto fai un giro che non è necessario, perdendo di fatto ogni beneficio dell'utilizzo delle membership

il metodo GetUser dovrebbe restituirti l'istanza di MembershipUser che rappresenta l'utente loggato, qualcosa cge non va ci deve essere

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Get UserID e InvalidCastException
Yield
Yield non è online. Ultima attività: 24/03/2009 13.58.45Yield
il 17 gennaio 2008 alle 14.20
114 messaggi dal 15 gennaio 2008
con ASP.NET e C# il codice

label1.Text = Membership.GetUser().ToString();


mi restituisce correttamente il nome dell'utente loggato.

Ma se invece del nome volessi lo UserID (chiave primaria che identifica univocamente l'utente)?


Grazie
Modificato da Yield il 17 gennaio 2008 14.22 -
Microsoft Most Valuable Professional
RE: Get UserID e InvalidCastException
nostromo
nostromo non è online. Ultima attività: 04/07/2009 1.44.08nostromo Top Poster
il 17 gennaio 2008 alle 14.29
dovrebbe essere sufficiente:

label1.Text = Membership.GetUser().ProviderUserKey.ToString();

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

2 pagine: [1] 2 Avanti >>

Vai a:
Torna al forum |   Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.

COMMUNITY
ULTIMI MESSAGGI
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2009.6.9