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?
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.
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. ;)
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)
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.
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
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.
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?
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
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
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.
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