application("folder_xml") = rs.xml
vil variablens indhold så blive overskrevet - i det øjeblik en
anden bruger (på potentielt samme tid) loader siden ... eller
holder IIS selv øje med, hvilke application-variable, der hører
til hvilke brugere ?
Er løsningen at give hver application-variabel et unikt navn (på
brugerniveau) ? Jeg kan ikke bruge løsningen med at bruge lokalt
definerede variable, da disse skal kunne tilgås fra mange
forskellige sider. Cookies er heller ikke løsningen, da data
potentielt er på adskillige kbytes - cookies ville bla. medføre,
at disse data blev smidt frem og tilbage imellem klient og server
for hvert request.
Jeg håber, at jeg har forklaret mit problem tydeligt nok.
:o)
Jesper Stocholm
--
Dette indlæg er sendt fra http://www.html.dk
* Søg og læs i de danske nyhedsgrupper om webdesign
* Tutorials og artikler om webdesign på dansk
Du kan gemme det som xml, men så vil der nok være mere ide i at gemme
hele dom-objektet (Microsoft.FreeThreadedXMLDOM eller noget i den stil),
så xml teksten ikke skal parsers hele tiden. Jeg plejer nu bare simple
datatyper (arrays, string ..)
> vil variablens indhold så blive overskrevet - i det øjeblik en
> anden bruger (på potentielt samme tid) loader siden ... eller
> holder IIS selv øje med, hvilke application-variable, der hører
> til hvilke brugere ?
Application varaible deles af alle brugere og derfor er den god til
cahce. Hvis du vil cache nogle data, for hver enkelt bruger, skal du jo
nok bruge session.
--
Lauritz
>Jesper Stocholm wrote:
>>
>> Jeg har en applikation, hvor jeg gerne vil cache resustatet af
>> nogle ret komplicerede og omfangsrige forespørgsler.
>[...]
>> application("folder_xml") = rs.xml
>
>Du kan gemme det som xml, men så vil der nok være mere ide i at gemme
>hele dom-objektet (Microsoft.FreeThreadedXMLDOM eller noget i den stil),
>så xml teksten ikke skal parsers hele tiden. Jeg plejer nu bare simple
>datatyper (arrays, string ..)
>
ja ... naturligvis ... :o)
>> vil variablens indhold så blive overskrevet - i det øjeblik en
>> anden bruger (på potentielt samme tid) loader siden ... eller
>> holder IIS selv øje med, hvilke application-variable, der hører
>> til hvilke brugere ?
>
>Application varaible deles af alle brugere og derfor er den god til
>cahce. Hvis du vil cache nogle data, for hver enkelt bruger, skal du jo
>nok bruge session.
>
det var også min tanke ... men siden, der genererer xml-data er en dynamisk
side - dvs file.asp?id=3&num=2 ... og det skulle gerne kunne gemmes i en
variabel, der er "query-specifik" - dvs den skal hentes og adskilles fra
variablen indeholdende data hentet fra siden file.asp?id=9&num=8 .
Men kræver det ikke, at jeg kan oprette dynamiske variable - og det er vist
ikke muligt i ASP3 ... eller tager jeg fejl ?
Sessions er cookies - og jeg er ikke interesseret i at smide store mængder
data med hvert eneste request ... men er der ikke også en øvre grænse for,
hvor meget data en cookie kan indeholde - eller er det antallet af cookies,
der er begrænset ?
--
There is a group at Fort Meade, who fear that which they cannot read
so they fight with their friends (God knows to what ends!)
In attempts to get more than they need.
(Jim Bidzos, CEO of RSA Data Security)
--
Niels Henriksen
Systemudvikler
Netopcom Danmark ApS
www.netopcomdanmark.dk
Hvad så med at cache det sådan:
id = CLng("" & Request("id"))
num = CLng("0" & Request("num"))
name = "_" & id & & "_" & num
If Not isDate(Application("updated" & name)) Or _
(DateDiff("m", Application("updated" & name), now) > 60) Then
data = LangsomGenereringAfData(id, num)
Application("data" & name) = data
Application("updated" & name) = Now
End If
data = Application("data" & name)
call BrugLangsomData(data)
> Sessions er cookies
Nej, session-data gemmes på serveren, mens kun en reference (en unik
nøgle) sendes til brugeren (godt nok i form af en cookie).
--
Laruitz