Lagring af klientsessionens tilstand i ASP.NET I vores introduktion til sessionsmodellen ovenfor kan du se, at sessionstilstanden bør gemmes to steder, nemlig klient- og serversiden. Klienten er kun ansvarlig for at gemme sessions-ID'et for den tilsvarende hjemmeside, mens anden sessionsinformation gemmes på serversiden. I ASP gemmes klientens SessionID faktisk som en cookie. Hvis brugeren vælger at deaktivere cookies i browserindstillingerne, vil han ikke kunne nyde bekvemmeligheden ved sessionen og kan endda ikke få adgang til visse hjemmesider. For at løse ovenstående problemer findes der to typer metoder til opbevaring af sessionsinformation i ASP.NET: cookies og cookiesless. I ASP.NET bruger klienten stadig cookies til at gemme sessionsinformation som standard. Hvis vi ønsker at bruge cookiesless på klienten til at gemme sessionsinformation, er følgende metode: Find rodmappen for den aktuelle webapplikation, åbn Web.Config-filen, og find følgende afsnit: <sessionTilstand mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="datakilde=127.0.0.1; Trusted_Connection=ja" cookieless="falsk" timeout="20"
/> cookieless="false" i dette afsnit ændres til cookieless="true", så klientens sessionsinformation ikke længere gemmes af cookies, men via URL'en. Lukning af den nuværende IE, åbning af en ny IE og genadgang til webapplikationen vil se sådan ud: Blandt dem er den fede skrifttype i http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245)/default.aspx klientens Session ID. Bemærk, at denne information automatisk tilføjes af IIS og ikke påvirker den tidligere normale forbindelse.
|