[ASP.NET] resterende gegevens uit de database via sessie..

Pagina: 1
Acties:

  • _Rob
  • Registratie: Januari 2003
  • Laatst online: 17-04 08:49
1. Geef eerst globaal aan wat het probleem is
- Het lukt me niet om de resterende gegevens uit een database van een gebruiker opslaan in sessie objecten. Zodat die op een later tijdstip kunnen worden gebruikt.

2. Geef dan aan wat je al geprobeerd hebt
- in de AutheticateRequest (In de global.asax) met behulp van een functie die de gebruikersGegevens moet ophalen met het gebruikesrId (uit de User.Identity.Name)

3. Geef vervolgens aan waar je denkt dat het aan ligt
- De User.Identity.Name (die niet werkt in global.asax) Als ik dus nogmaal de functie moet gebruiken zal ik toch de gebruikersId uit User.Identity.Name moeten kunnen gebruiken.

4. Geef dan aan wat je geprobeerd hebt om dit probleem te verhelpen
- Ik heb geprobeerd de outputs te gebruiken (@GebruikersId) maar dit werkte ook niet. (tja, misschien heel dom. Maar ik moet toch wat proberen?)

5. Geef aan waarom je denkt dat dat niet klopt, of geef aan waarom je denkt dat dat niet werkt. Herhaal deze stappen totdat je alles hebt verteld wat je hebt geprobeert, en welke references je daarvoor gebruikt hebt. Geef ons de errors die je te zien krijgt.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:
code:
1
2
Line 49:     Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
Line 50:         Dim GebruikersId As Integer = User.Identity.Name


6. Wanneer je alles duidelijk hebt uitgelegd, vat je je probleem samen en stel je de uiteindelijke vraag.
- Hoe kan ik de resterende gegevens van de gebruiker uit de database opslaan in de sessie object?

Tot zover de code van de global.asax:
ASP:
1
2
3
4
5
    Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
        Dim GebruikersId As Integer = User.Identity.Name
        Dim GebrSys As people.GebruikersDB = New people.GebruikersDB()
        Dim GebruikersDetail As people.GebruikersDetail = GebrSys.GetGebruikersDetail(GebruikersId)
    End Sub

Alvast bedankt!

p.s.
Dit is niet een 'ik dump hier m'n code, los het ff op' topic... Ik heb op diverse websites gezocht en kan simpelweg niks vinden. Goeie links zijn ook van harte welkom. ;)

Webdeveloping... -counts to 10- Sigh...


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:37
Hoe en wanneer haal je de gegevens op?

Je kunt toch gewoon het gebruikers Id in een cookie of in een sessie-object bewaren:
code:
1
Session["UserId"] = GebruikersId;

C# code

Als je dan later nog gegevens nodig hebt over die gebruiker, dan kan je het gebruikersId hergebruiken om als parameter te gebruiken in jouw SP / query.

Wat je ook kunt doen is alle gebruikersinfo in één keer inlezen, deze in een 'userinfo' object oid zetten, en die dan in een sessie-object bewaren.

Die foutmelding die je krijgt is een nullpointer exception, wat wil zeggen dat je een stuk geheugen wilt uitlezen dat niet gealloceerd is. (Ik gok dat het object met de Naam 'User' null is).

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:16

gorgi_19

Kruimeltjes zijn weer op :9

Je haalt nu imho twee dingen volledig door elkaar. (Hoe wil je bij de authenticatiemethode al een gevulde user.identity.name hebben?)

Zie voor voorbeelden:
http://www.ibuyspyportal....odules/SignIn.ascx&rows=3
http://www.ibuyspyportal....c&file=Global.asax&rows=2

Digitaal onderwijsmateriaal, leermateriaal voor hbo