[ASP] Inhoud sessie kwijt maar waarom

Pagina: 1
Acties:

  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Ik ben bezich met een intranet (IIS/ASP) en daarbinnen vallen een aantal applicatie (In iis ziet dat eruit als een soort doosje ipv een map). Laten we zeggen dat ik /APP1 en /APP2 heb gemaakt. In APP1 vul ik session("Test") = "Test" en in /APP2 lees ik deze weer uit maar dan is die mooi leeg...
De twee applicatie zijn op te roepen als http://intranet/app1 (of /app2).

Is dit "by design" of gaat er iets fout. Het is niet gewenst om van app1 en app2 losse mappen te maken. We gebruiken visual interdev en connecten direct naar de applicatie map. Kan iemand mij snel iets meer vertellen.. anders moeten we iets anders verzinnen

https://k1600gt.nl


  • Peetman
  • Registratie: Oktober 2001
  • Nu online

Peetman

Tjah....

Volgens mij kan de ene app niet zomaar bij de session gegevens van de andere app

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:21
Een sessie variable is slechts zichtbaar binnen één sessie.
Jij wilt een sessie-var opvullen in applicatie 1 en die uitlezen in applicatie 2? Tja, dan heb je pech, want app2 kent de sessie-variablen van app1 niet, app2 heeft nl. zijn eigen sessie.

Of begrijp ik je nu verkeerd?

https://fgheysels.github.io/


  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
whoami schreef op 16 oktober 2002 @ 13:35:
Een sessie variable is slechts zichtbaar binnen één sessie.
Jij wilt een sessie-var opvullen in applicatie 1 en die uitlezen in applicatie 2? Tja, dan heb je pech, want app2 kent de sessie-variablen van app1 niet, app2 heeft nl. zijn eigen sessie.

Of begrijp ik je nu verkeerd?
Mijn beredenering was dat de sessie over de applicaties heen dendert zolang je maar op de zelfde server blijft. Je sessie_id blijft toch gelijk ? Als dat niet zo is ben ik mooi zuur

https://k1600gt.nl


  • whoami
  • Registratie: December 2000
  • Laatst online: 10:21
shades schreef op 16 oktober 2002 @ 13:37:
[...]


Mijn beredenering was dat de sessie over de applicaties heen dendert zolang je maar op de zelfde server blijft. Je sessie_id blijft toch gelijk ? Als dat niet zo is ben ik mooi zuur

Je bent zuur.
Iedere keer dat er een bezoeker/user jouw website bezoekt krijgt die user zijn eigen sessie.
Als hij een andere site bezoekt op dezelfde server, krijgt hij een nieuwe sessie.

https://fgheysels.github.io/


  • Peetman
  • Registratie: Oktober 2001
  • Nu online

Peetman

Tjah....

Je kan dit even checken door in beide apps een pagina te openen die de sessie id tonen, dan zal je zien dat ze niet hetzelfde zijn.

  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
whoami schreef op 16 oktober 2002 @ 13:39:

[...]

Je bent zuur.
Iedere keer dat er een bezoeker/user jouw website bezoekt krijgt die user zijn eigen sessie.
Als hij een andere site bezoekt op dezelfde server, krijgt hij een nieuwe sessie.
Dus als ik vanuit http://intranet/app1 een pagina inlaad van http://intranet/app2 dan worden sessie-vars niet overgedragen... das heeeeel erg jammer... maar dan weet ik genoeg. Zit me al een halve dag af te vragen waarom het niet werkt..
Ik was altijd van mening dat zolang je op http://intranet/..... zit de sessie gelijk blijft en dat alleen de application-vars dus binnen de app1 en app2 bleven...
Jammer.. :(

https://k1600gt.nl


  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
peetman schreef op 16 oktober 2002 @ 13:40:
Je kan dit even checken door in beide apps een pagina te openen die de sessie id tonen, dan zal je zien dat ze niet hetzelfde zijn.
Ja dat is wel een goed idee...

https://k1600gt.nl


Verwijderd

En anders moet je cookies gaan gebruiken, wat sessions eigenlijk ook zijn ;)

  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Verwijderd schreef op 16 oktober 2002 @ 13:51:
En anders moet je cookies gaan gebruiken, wat sessions eigenlijk ook zijn ;)
ook even reply op boven:
Met Session.SessionID krijg ik inderdaad andere waarden :(

Cookies heb ik eigenlijk geen trek in maar je hebt wel gelijk, sessions zijn wel cookies maar ik weet niet precies wat het daadwerkelijke verschil is.. Is het net zo makkelijk om een cookie te gebruiken als een session ?

https://k1600gt.nl


Verwijderd

Is het net zo makkelijk om een cookie te gebruiken als een session ?
Een sessie maak je zo:
code:
1
session("blaat") = "blaat"


En een cookie zo:
code:
1
Response.Cookies("blaat")  = "blaat"

of
code:
1
Response.Cookies("blaat")("A") = "blaat"


Check voor meer info: http://www.w3schools.com/asp/asp_cookies.asp

w3schools is na google mijn beste vriend :)

//EDIT:

Ohja, en uitlezen doe je zo
code:
1
2
3
4
5
Dim blaat1
Dim blaat2

blaat1 = Request.Cookies("blaat")
blaat2 = Request.Cookies("blaat")("A")

  • shades
  • Registratie: September 2001
  • Laatst online: 10-08 15:01
Ik had al een vermoeden dat de cookies ook niet werken (net getest) omdat die dus _ook_ sessie gebonden zijn.
(Weet wel hoe ik sessies en cookies moet maken btw alleen het exacte verschil ertussen kan ik niet vertellen maar thx voor de geheugensteuntje :D)
Echt vervelend dit... Het zijn slecht 5 bestanden die iedere applicatie uit app1 nodig heeft dus misschien moet ik ze wel gewoon binnen de applicaties opnemen, updaten is dan alleen een crime...

PS: ik vind www.learnasp.com en www.asp101.com ook fijne sites :D

https://k1600gt.nl


  • whoami
  • Registratie: December 2000
  • Laatst online: 10:21
[nohtml]
shades schreef op 16 oktober 2002 @ 14:24:
[...]


Ik had al een vermoeden dat de cookies ook niet werken (net getest) omdat die dus _ook_ sessie gebonden zijn.
Hoezo een cookie is sessie gebonden? Als je je sessie afsluit, dan bestaat het cookie toch nog op de disk van de bezoeker? En als de bezoeker de volgende dag terugkomt kan je toch dat cookie uitlezen?
Ik kan me voorstellen dat je vanuit een andere applicatie gelijk welk cookie kunt inlezen.

https://fgheysels.github.io/


  • nxt
  • Registratie: November 2001
  • Laatst online: 26-08 13:51

nxt

shades schreef op 16 oktober 2002 @ 14:24:
[...]
Ik had al een vermoeden dat de cookies ook niet werken (net getest) omdat die dus _ook_ sessie gebonden zijn.
......
als jou cookies verdwijnen bij het beindigen van een sessie
heb je vast geen expire date opgegeven?

Verwijderd

shades schreef op 16 oktober 2002 @ 14:24:
[...]


Ik had al een vermoeden dat de cookies ook niet werken (net getest) omdat die dus _ook_ sessie gebonden zijn.
(Weet wel hoe ik sessies en cookies moet maken btw alleen het exacte verschil ertussen kan ik niet vertellen maar thx voor de geheugensteuntje :D)
Echt vervelend dit... Het zijn slecht 5 bestanden die iedere applicatie uit app1 nodig heeft dus misschien moet ik ze wel gewoon binnen de applicaties opnemen, updaten is dan alleen een crime...

PS: ik vind www.learnasp.com en www.asp101.com ook fijne sites :D
Cookies en sessies zijn heel andere dingen. Cookies zijn een machanisme om op de client gegevens op te slaan. Ze zijn voor heel veel doelen te gebruiken, o.a. om met sessies te werken. Cookies kunnen een vooraf ingestelde tijd op de computer blijven staan en geldig blijven.

Sessies zijn een manier om 'state' te behouden. HTTP is een stateless protocol, dus nadat een pagina is verzonden wordt alles afgesloten en vergeten dat er ooit een connectie met een client was. Met sessies kan je dit voorkomen, door iedere client een aparte ID te geven, en een API te geven om tussen verschillende HTTP request en responses waardes op te slaan die behoren tot dezelfde client, dmv het sessie ID. De sessie gegevens worden echter niet op de client maar op de server opgeslagen.

De meest gebruikte manier om het gebruik van sessies mogelijk te maken is door een sessie cookie te zetten op de client PC, waarin het sessie ID staat. Het is echter ook mogelijk om dit op andere manieren te bereiken, zoals bijv. door een ID in een URL te zetten. Sessie cookies zullen automatisch niet meer geldig zijn (verwijderd worden) zodra de browser gesloten wordt.

Als je bestanden moet delen over meerdere applicaties kan je dat volgens mij bereiken door, onder iedere applicatie directory een 'virtual directory' te maken, die allemaal naar een gezamelijke directory met gezamelijke files wijst. Niet getest, dus ik weet niet of dat ook problemen met zich meebrengt.

Succes :)

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Dit ligt allemaal aan de indeling in IIS.

Als je 1 website maakt, met 1 Application en daaronder de fysieke mappen van App1 en App2 gooit bestaan beide apps in 1 sessie.

Wanneer je er aparte virtual dirs van maakt kunnen ze geen sessies delen. Of misschien wel, maar moet je proberen dezelfde applicatie aan beide te verbinden.

Overigens moet je in dat eerste geval wel zorgen dat je geen nieuw browservenster opent waarin je app2 opent. Dan loop je namelijk nog het risico dat de webserver ze als aparte request (en dus sessies) behandelt.

  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 12:10
shades schreef op 16 oktober 2002 @ 13:31:
Ik ben bezich met een intranet (IIS/ASP) en daarbinnen vallen een aantal applicatie (In iis ziet dat eruit als een soort doosje ipv een map). Laten we zeggen dat ik /APP1 en /APP2 heb gemaakt. In APP1 vul ik session("Test") = "Test" en in /APP2 lees ik deze weer uit maar dan is die mooi leeg...
De twee applicatie zijn op te roepen als http://intranet/app1 (of /app2).

Is dit "by design" of gaat er iets fout. Het is niet gewenst om van app1 en app2 losse mappen te maken. We gebruiken visual interdev en connecten direct naar de applicatie map. Kan iemand mij snel iets meer vertellen.. anders moeten we iets anders verzinnen
Dat gaat niet voor zover ik weet.
Sla die gegevens op in een cookie en je probleem is verholpen.
Of als er altijd maar 1 op 1 gewerkt wordt zou je nog kunnen denken aan application-variabelen. (maar dat is meestal een rotzooitje)

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Probeer het antwoord van sneek eens!

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
ahem, zneek aub :)

Ik ben geen Fries gehucht :)

Verwijderd

Hmm... Sessions en Cookies zijn bijna hetzelfde, het grote verschil tussen deze 2 is dat sessions op de server worden opgeslagen, en cookies bij de client, daarom heb je bij sessions ook een SessionID, zodat de server weet dat het jou sessie is...
De rede dat je je sessie kwijtbent zogauw je IE afsluit is dat je dan je sessionID kwijt bent... Oftewel IE weet je sessionid niet meer.

Ikweet dat het in PHP mogelijk is om 2 apps gebruik te laten maken van dezelfde sessie omdat ik dat namelijk zelf ook ooit heb gedaan, ik had dat toen gedaan doormiddel van zelf de sessionid op te geven (dit kan in php ik weet niet zeker of het ook in asp kan) en allebei de apps dat id te laten gebruiken. Bijv:


SessionID = "BlaBlaBla" + IP van de Client

Nu gebruiken allebei de clients: "BlaBlaBla" + IP van de Client als id

Wel is het zo dat deze sessions ook maar een bepaalde tijd geldig zijn, dit ligt aan je instellingen (standaard is dacht ik 2 uur)

>:) Veel Succes,Ik hoop dat je hier wat aan hebt
Pagina: 1