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