/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
aflæse navn på kaldt side før gammel side ~
Fra : Chrisser


Dato : 22-04-03 10:52

Hej

I forbindelse med visning af noget Crystal Report opretter jeg en
Sessionsvariabel der indeholder et recordset. Da dette kan blive noget tungt
( har jeg en mistanke om ? ), vil jeg gerne nedlægge sessionsvariablen efter
brug.
Jeg har lavet en lille ASP-fil der gør dette som jeg kan kalde på body's
unload event.

MEN: Min rapport kan indeholde adskillige sider og når du skifter i mellem
disse udføres åbenbart en form for paging hvor siden kalder sig selv, så
første gang du skifter side nedlægges sessionsvariablen og du kan ikke få
vist mere...

Så var det jeg ville vide om man, på det tidspunkt en unload event udføres,
kan få fat i navnet på den side der er kaldt, så kan jeg jo teste mig ud af
det.

Kan man det ?
- eller er der spærret for sådan noget....

Mvh
Chrisser


 
 
Jakob Andersen (23-04-2003)
Kommentar
Fra : Jakob Andersen


Dato : 23-04-03 21:25

Chrisser skrev:
> I forbindelse med visning af noget Crystal Report opretter jeg en
> Sessionsvariabel der indeholder et recordset. Da dette kan blive noget tungt
> ( har jeg en mistanke om ? ), vil jeg gerne nedlægge sessionsvariablen efter
> brug.

Når du gør ovenstående er det meget vigtigt at du sørger for at det er
et disconnected recordset du benytter, se evt. tip 5 her:

http://msdn.microsoft.com/library/en-us/dnasp/html/asptips.asp

> Så var det jeg ville vide om man, på det tidspunkt en unload event udføres,
> kan få fat i navnet på den side der er kaldt, så kan jeg jo teste mig ud af
> det.

Jeg er ikke 100% sikker på jeg forstår din problemstilling, men som jeg
ser det gælder det for dig om at få nedlagt sessionen hurtigst muligt
når brugeren enten bladrer væk fra din side.

Jeg har før fusket med noget lignende og endte op med en løsning med en
del javascript involveret. Basalt set går det ud på at du på din side
har en variabel der bestemmer om der skal nedlægges session på unload
eventen eller der ikke skal. Denne variabel er som default sat til at
der skal slettes session ved en evt. popup eller i en skjult ramme. På
de links der peger på en side hvorpå der skal benyttes sessionobjektet
sørger du for at der er en onclick event der sætter variablen til at
sessionen ikke skal slettes i unload.

Dog er metoden ikke 100% fejlfri da den jo er afhængig af clientside
scripting så det bedste vil være at finde en løsning hvor der ikke
benyttes recordsets i sessionobjektet. Og husk også at sætte en lav
sessiontimeout hvis du vælger ovenstående løsning, så bliver eventuelle
smuttere hurtigere elimineret.

--
Jakob Andersen

Chrisser (24-04-2003)
Kommentar
Fra : Chrisser


Dato : 24-04-03 08:01

Jakob Andersen wrote:
> Chrisser skrev:
>> I forbindelse med visning af noget Crystal Report opretter jeg en
>> Sessionsvariabel der indeholder et recordset. Da dette kan blive
>> noget tungt ( har jeg en mistanke om ? ), vil jeg gerne nedlægge
>> sessionsvariablen efter brug.
>
> Når du gør ovenstående er det meget vigtigt at du sørger for at det er
> et disconnected recordset du benytter, se evt. tip 5 her:
>
> http://msdn.microsoft.com/library/en-us/dnasp/html/asptips.asp

Mange tak for linket, det vidste jeg nemlig ikke at man kunne - og det ser
ud til at kunne få stor betydning når vi snakker mange brugere.
At lægge recordsettet i en Sessionsvariabel er desværre ikke et valg i
forbindelse med CR 9.0 når rapporten skal vises/udskrives via web ( ikke
hvis brugeren skal kunne lave en selektering på de data der skal vises ),
det er derfor jeg gerne vil være sikker på at det er optimeret mest muligt.

> Jeg har før fusket med noget lignende og endte op med en løsning med
> en
> del javascript involveret. Basalt set går det ud på at du på din side
> har en variabel der bestemmer om der skal nedlægges session på unload
> eventen eller der ikke skal. Denne variabel er som default sat til at
> der skal slettes session ved en evt. popup eller i en skjult ramme. På
> de links der peger på en side hvorpå der skal benyttes sessionobjektet
> sørger du for at der er en onclick event der sætter variablen til at
> sessionen ikke skal slettes i unload.

Jeg har prøvet noget lignende, men tror ikke det kan gøres i denne
situation. Rapporten vises med en HTMLViewer som åbenbart har en form for
paging indbygget ( den er en del af CR's ObjectFactory ) - derfor har jeg
heller ikke mulighed for at styre de kald den udfører. Der burde
selvfølgelig være sørget for at den pågældende Session nedlægges efter brug,
det er bare det at jeg ikke stoler på at det nu også sker, så derfor ville
jeg sikre mig at den ikke fik lov at hænge.

> Dog er metoden ikke 100% fejlfri da den jo er afhængig af clientside
> scripting så det bedste vil være at finde en løsning hvor der ikke
> benyttes recordsets i sessionobjektet. Og husk også at sætte en lav
> sessiontimeout hvis du vælger ovenstående løsning, så bliver
> eventuelle smuttere hurtigere elimineret.

Hvad angår brugen af JavaScript så er det helt fint da det er et
intranetbaseret system med minimumskrav
Derfor kører vi også med en lidt høj SessionTimeOut - men jeg kan jo altid
sætte ned i denne specielle forbindelse.

Mvh
Chrisser


Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste