Avatar billede websam Nybegynder
10. januar 2006 - 15:58 Der er 12 kommentarer og
1 løsning

Hente data fra cached arrylist ?

Hejsa,

Jeg laver en cache af en arrayliste og det virker også fint. Men jeg mangler lige en forklaring til hvorledes jeg f.eks. henter fra den cache og smider indholdet over i en dataliste.

Min kode der laver cache :

Public Function GetAllFeedback(ByVal intSend As Integer)
    Dim Source As ArrayList = CType(HttpContext.Current.Cache("LoadAllFeedback"), ArrayList)
    If Source Is Nothing Then
        Dim iFaceData As iFeedbackData = New FeedbackData
        Source = iFaceData.GetAllFeedback(intSend)
        HttpContext.Current.Cache.Insert("LoadAllFeedback", Source)
    Else
        Source = HttpContext.Current.Cache("LoadAllFeedback")
    End If
    Return Source
End Function

Nogen der kan hjælpe mig med det ?
Avatar billede arne_v Ekspert
10. januar 2006 - 16:11 #1
du henter da fra cachen i den kode - to gange endda ...
Avatar billede websam Nybegynder
10. januar 2006 - 17:09 #2
Ja, men jeg sakl have det til at spille sammen med :

DataList1.DataSource = et-eller-andet
DataList1.DataBind()
Avatar billede arne_v Ekspert
10. januar 2006 - 17:33 #3
prøv

DataList1.DataSource = CType(HttpContext.Current.Cache("LoadAllFeedback"), ArrayList)
Avatar billede websam Nybegynder
10. januar 2006 - 17:36 #4
Ja det har jeg tænkt på men jeg skal jo et eller andet sted i denne forbindelse kalde min cache function ovenfor ?

/Websam
Avatar billede arne_v Ekspert
10. januar 2006 - 17:45 #5
Public Function GetAllFeedback(ByVal intSend As Integer) As ArrayList

og

DataList1.DataSource = GetAllFeedback(val)
Avatar billede arne_v Ekspert
10. januar 2006 - 17:45 #6
men jeg forstår ikke koden i den funktion !
Avatar billede websam Nybegynder
10. januar 2006 - 22:54 #7
Public Function GetAllFeedback(ByVal intSend As Integer)
    '--- Her laver jeg et object
    Dim Source As ArrayList = CType(HttpContext.Current.Cache("LoadAllFeedback"), ArrayList)
    '--- Hvis object er ingenting kalder jeg fradatabase
    If Source Is Nothing Then
        Dim iFaceData As iFeedbackData = New FeedbackData
        Source = iFaceData.GetAllFeedback(intSend)
        '--- og smidder de hentede data i cache
        HttpContext.Current.Cache.Insert("LoadAllFeedback", Source)
    Else
        '--- ellers beholder jeg min cache
        Source = HttpContext.Current.Cache("LoadAllFeedback")
    End If
    '--- og retunere den
    Return Source
End Function

Håber det hjælper lidt på det simpelt hen en function der tjekker op på om cachen findes eller og gør den ikke laver jeg den, som ikke meget andet.

Og så har jeg prøvet noget i denne stil :

Dim objBiz As Feedback.FeedbackBiz = New Feedback.FeedbackBiz
Dim objList As ArrayList = objBiz.GetAllFeedback(0)
DataList1.DataSource = objList
DataList1.DataBind()

Men det giver ikke noget selvom der er data i databasen til det.
Avatar billede websam Nybegynder
11. januar 2006 - 09:54 #8
Fandt ud af at jeg havde glemt at smide en linie ind hvor jeg tilføjer data til arraylisten DOOOH.

Smid et svar så får du point ;o)

/Websam
Avatar billede arne_v Ekspert
11. januar 2006 - 15:00 #9
ok
Avatar billede websam Nybegynder
11. januar 2006 - 15:02 #10
Men fik du fat i hvad jeg gjorde i min function ovenfor ?

/Websam
Avatar billede websam Nybegynder
11. januar 2006 - 15:03 #11
Og var der måske noget jeg skulle lave om på det ?

/Websam
Avatar billede arne_v Ekspert
11. januar 2006 - 15:15 #12
jeg tror at du:

- skal tilføje en return type på den function

- skal slette else delen
Avatar billede websam Nybegynder
11. januar 2006 - 15:23 #13
return er blevet sat efterfølgende og else kan jeg da godt slette ;o)

tak for tippet.

/Websam
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester