webForumDet fria alternativet

ASP på IIS -> problem med sessioner + WAP

ASP

22 svar · 664 visningar · startad av sgtpepper

Medlem sedan apr. 20007 588 inlägg
Frågan#1

Hej, denna fråga skulle kunna ligga i antingen detta forum, ASP-forumet eller kanske WML/WAP-forumet, jag vet inte om det är bäst här men jag försöker ändå :)

Jag har drabbats av oturen att behöva skriva om en liten ASP-applikation till en WML-variant.

Orginalapplikationen använder sessionsobjektet för att spara lite prylar angående den inloggade användaren. Problemet jag stöter på är då att det inte verkar finnas något smidigt sätt att koda in sessions-id:et i URL:n i ASP/IIS.

Min applikation kommer att köras på telefoner som INTE har cookie-stöd och därför måste sessions-id:et på något sätt kunna skickas med i URL:n, annars måste jag göra något helt annat, typ en egen liten sessionshantering eller så och det är ju inte helt kul.

Min fråga är därför: Finns det något sätt att i IIS-konfigurationen ställa in att sessions-id:et alltid skall skickas med URL:erna? Jag hittade ett ISAPI-filter som hette Cookie Muncher eller liknande men det är inte helt optimalt att behöva installera ett filter då applikationen helst skall gå att droppa in i befintlig IIS-miljö utan några modifikationer.

Om detta inte går, finns det då något sätt att göra detta programatiskt i ASP-koden?

Tack på förhand :)

Medlem sedan juni 200032 967 inlägg
#2

Den idé som spontant poppade upp var just Cookie mungern. I övrigt kan jag inte komma på någon lösning på rak arm. Jag tror dock att det är någonting som får lösas i ASP, så jag tar och flyttar frågan till det forumet. Det känns som den hör bättre hemma där än här.

Hoppas du får svar där...

Mvh,

Medlem sedan mars 20007 896 inlägg
#3

Nu har jag sökt och sökt, eftersom att du så sällan ställer frågor på wF - utan mest svarar. Det enda som jag kom fram till/hittade var ISAPI ( Fler än Cookie Munge ) och COM-apps, men dessa var alltså inte intressanta? Då får du nog pilla ihop din egen sessionhanterare, om ingen här har gjort en alternativt är bättre än mig på att leta. ;)

Medlem sedan apr. 20007 588 inlägg
#4

Tack för hjälpen SPiN! Tyvärr har du nog rätt, det verkar som om Cookie Mungern är det enda sättet.

Jag får helt enkelt göra något slags fulhack på något sätt.. :)

Medlem sedan feb. 20001 590 inlägg
#5

Vilka telefoner gäller det?
(har nämligen inte råkat ut för problemet själv)

/T

Medlem sedan apr. 20007 588 inlägg
#6

Vilka telefoner gäller det?

Systemet skall fungera på de flesta telefoner med WAP-stöd och de som används just nu är nog främst Ericsson R320 och Nokia 6210.

Medlem sedan feb. 20001 590 inlägg
#7

Har en 320s själv, men jag tror inte att jag har haft det problemet (lite osäker)
Jag har grejat med några waplösningar, och dom funkade...
(får kolla koden ikväll)

/T

Medlem sedan apr. 20007 588 inlägg
#8

Ursprungligen av Toonster **Har en 320s själv, men jag tror inte att jag har haft det problemet (lite osäker)
Jag har grejat med några waplösningar, och dom funkade...
(får kolla koden ikväll)

/T**

Så vitt jag vet så stödjer inte R320s cookies, möjligt är att din gateway håller reda på cookies etc.

Medlem sedan feb. 20001 590 inlägg
#9

Nej, det var inga sessioner som användes, utan allt gick via url'en.

Kan du inte bara skicka med sessionsvariabeln där?

/T

Medlem sedan apr. 20007 588 inlägg
#10

Kan du inte bara skicka med sessionsvariabeln där?

Jo, självklart, men det löser inte problemet. För att kunna hålla sessionen så måste ju sessions-id:et sedan plockas ut ur URL:en och användas för att plocka upp sessionen igen och det är där problemet ligger, det verkar inte gå att göra i koden och enda sättet att få IIS att göra det åt mig är att använda ett äckligt filter och det vill jag inte.

I Websphere App Server så är det en liten ruta, "URL rewrite" eller något sådant som behöver klickas i och sedan är saken biff, men det är klart nu är det ju IIS... Man ska inte jämföra Ferraris med Folkvagnar :e

Medlem sedan feb. 20001 590 inlägg
#11

... Speciellt nu när Apachen finns som trådad version. Vilket för övrigt PWS 1.0 var.... :)

red:

Skämt och sido

Rör det sig om många skriptfiler?

Det blir npg svårt att hålla igång sessionerna utan 3:e parts programvara.

/T

Medlem sedan apr. 20007 588 inlägg
#12

Rör det sig om många skriptfiler?

Nej, kanske 8-10 sidor.

Det blir npg svårt att hålla igång sessionerna utan 3:e parts programvara.

Jo, det har jag ju liksom redan klurat ut.. Kontentan blir att jag måste lösa min uppgift utan att använda sessioner på normalt sätt eller använda ett filter. Jag tycker fortfarande att det är märkligt att inte valmöjligheten att koda in sessions-id:et i URL:erna finns val i IIS utan fristående tilläggsmoduler.

Medlem sedan feb. 20001 590 inlägg
#13

Det enklaste (?) sättet är nog helt enkelt att skicka med alla variabler hela tiden i URL'n. Det är ju ingen snygg lösning men...

Genom att göra en includefil med alla variabler och request mm. så förenklar man nog en hel del. Då behöver man bara tänka på att skicka med dom i varje länk...

Har du kikat på MSDN ?, det är ju inte helt uteslutet att det finns något att hämta hos Microsoft ?

Ditt problem kan lösas med ASP.Net, fast du kanske inte har den möjligheten?

/T

Medlem sedan apr. 20007 588 inlägg
#14

Det enklaste (?) sättet är nog helt enkelt att skicka med alla variabler hela tiden i URL'n. Det är ju ingen snygg lösning men...

Jag måste ha någon slags sessionshantering för att sköta ett inloggningsförfarande så det är rätt fult att endast skicka med allt i en query-sträng i klartext. Jag får mecka ihop någon egen slags sessionshantering helt enkelt.

Har du kikat på MSDN ?, det är ju inte helt uteslutet att det finns något att hämta hos Microsoft ?

Jo, det finns ju Cookie Munger-filtret men det vill jag inte använda.

Ditt problem kan lösas med ASP.Net, fast du kanske inte har den möjligheten?

Mitt problem går att lösa på många sätt, t.ex med en trevlig Javaapplikationsserver, problemet är att det befintliga systemet just nu körs på en IIS med "plain" ASP och att WAP-delen därför måste använda samma teknik eftersom det skall handla om en enkel "strap-on"-modul som kunder enkelt kan släppa in i befintlig driftmiljö.

Om jag fick välja helt själv så skulle dock inte ASP.Net vara förstahandsvalet, som tur är så byggs hela systemet om till Java/Websphere i och med nästa version. Ahhhh :e

Medlem sedan mars 20007 896 inlägg
#15

Att installera ett filter tar väl ungefär så lång tid som det tar att lägga till alla MIME-typer för WAP-hanteringen? §e ;)

Men jag förstår vad du menar, den ska vara ren.

Medlem sedan apr. 20007 588 inlägg
#16

Att installera ett filter tar väl ungefär så lång tid som det tar att lägga till alla MIME-typer för WAP-hanteringen? §e ;)

Jo, det har du ju rätt i :).

Problemet är dock att a) man inte kan inte lita på alla kunders tekniska kompetens, b) huvudsystemet får absolut inte rubbas eller på något sätt störas av en liten WAP-applikation och c) Cookie Munger-filtret kommer att suga en hel del kräm ur servern.

Men det viktigaste punkten är självklart punkt a. :e

Medlem sedan feb. 20001 590 inlägg
#17

Synd att du inte tänder på ASP.Net, för då behöver du nämligen aldrig bry dig om vad det är för klient, webbläsare eller telefon.

Fast föredrar du Java, så kör med det.

Hur tänker du fixa en sessionshanterare? Ska du skriva information i HTTP huvudet eller? Låter intressant...

/T

Medlem sedan apr. 20007 588 inlägg
#18

Synd att du inte tänder på ASP.Net

Nu handlar det inte så mycket om vad jag tänder på, utan mer vilka tekniska specifikationer det finns i kravspecifikationen.. Helst av allt så skulle jag inte vilja koda i varken ASP/ASP.Net eller Java, helst av allt skulle jag vilja vara ledig och åka motorcykel just nu.. :)

Hur tänker du fixa en sessionshanterare? Ska du skriva information i HTTP huvudet eller? Låter intressant...

Nja, jag får väl helt enkelt generera ett eget, unikt, sessions-ID och koda in i alla URL:er och sedan bygga någon liten modul som lagrar sessionsdatat i minnet eller på disk med sessions-ID:et som nyckel.

Medlem sedan feb. 20001 590 inlägg
#19

Låter inte helt enkelt, hur har du tänkt att den modulen ska kunna spara data i minnet, utan sessions och applikationsvariabler?

/T

Medlem sedan apr. 20007 588 inlägg
#20

hur har du tänkt att den modulen ska kunna spara data i minnet, utan sessions och applikationsvariabler?

Jag har aldrig sagt att den inte kan använda singleton-objekt som t.ex ett applikationsobjekt som lever och är tillgänglig för hela applikationen. En sådan är tvärtom förmodligen det bästa sättet att lagra de "egna" sessionerna i, eller i en databas om det är snålt om resurser.

258 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)