Et adfærd, som synes at have uforklarlig skiftet mellem IE8 og IE7 er håndtering af sessionen cookies. I IE7 (og 6) hver browser instans, og fanen havde sin egen session cookie, og som følge heraf session på serveren. Ikke tilfældet i IE8! Hver fane og browser instans (med nogle mindre undtagelser) nu deler samme session cookie. Når du designer ASP.NET applikationer, det er noget du skal være opmærksom på. Hvis du for eksempel gemmer et element i øjeblikket redigeres i session stat og en bruger åbner to browsere for at redigere to forskellige enheder, forventer, at alle former for mærkelige resultater. Hvis du ønsker at teste opførslen af en bestemt browser til at se for dig selv, kan du besøge denne side. I min hurtige test, opfører den nyeste version af Chrome ligesom IE8.
Så hvordan kan du være sikker på en ansøgning kan understøtte flere browservinduer? Nå, der er et par muligheder, hvoraf ingen er helt tilfredsstillende:
Eliminere brugen af sessionen, og skifte til cookies, skjulte formular elementer eller nogle andre klientsiden mechanism.Enable cookiesless sessioner (URL omskrivning). Pas på, at denne fremgangsmåde har nogle sikkerhedsmæssige konsekvenser samt nogle praktiske virkninger på ting som bookmarking og URL sharing.Train dine brugere til at vælge "Ny session" fra menuen Filer i IE8. Ikke just let, da menuerne er som standard skjult. Hvis du aktiverer dem du vil opdage, at du har både "nyt vindue" og "New Session" som valgmuligheder. Sidstnævnte vil tillade flere browsere, der kører forskellige sessioner.Den moralske af historien er, at hvis du vælger at bruge session tilstand, skal du sørge for at planlægge for brugere at åbne mere end én browser-vindue.
Ingen kommentarer:
Send en kommentar