Αποθήκευση της κατάστασης συνεδρίας πελάτη στο ASP.NET Στην εισαγωγή μας στο παραπάνω μοντέλο συνεδρίας, μπορείτε να δείτε ότι η κατάσταση συνεδρίας πρέπει να αποθηκεύεται σε δύο μέρη, δηλαδή στην πλευρά του πελάτη και στην πλευρά του διακομιστή. Ο πελάτης είναι υπεύθυνος μόνο για την αποθήκευση του αναγνωριστικού περιόδου σύνδεσης του αντίστοιχου ιστότοπου, ενώ άλλες πληροφορίες συνεδρίας αποθηκεύονται στην πλευρά του διακομιστή. Στο ASP, το SessionID του πελάτη αποθηκεύεται στην πραγματικότητα ως cookie. Εάν ο χρήστης επιλέξει να απενεργοποιήσει τα cookies στις ρυθμίσεις του προγράμματος περιήγησης, δεν θα μπορεί να απολαύσει την ευκολία της συνεδρίας και μπορεί ακόμη και να μην έχει πρόσβαση σε ορισμένους ιστότοπους. Για την επίλυση των παραπάνω προβλημάτων, υπάρχουν δύο τύποι μεθόδων αποθήκευσης πληροφοριών συνεδρίας στο ASP.NET: cookies και cookiesless. Στην ASP.NET, ο πελάτης εξακολουθεί να χρησιμοποιεί cookies για την αποθήκευση πληροφοριών περιόδου λειτουργίας από προεπιλογή. Εάν θέλουμε να χρησιμοποιήσουμε cookies χωρίς cookies στον πελάτη για την αποθήκευση πληροφοριών συνεδρίας, η ακόλουθη είναι η μέθοδος: Βρείτε τον ριζικό κατάλογο της τρέχουσας εφαρμογής web, ανοίξτε το αρχείο Web.Config και βρείτε την ακόλουθη παράγραφο: <σύνοδοςΠολιτεία mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="πηγή δεδομένων=127.0.0.1; Trusted_Connection=ναι" cookieless="ψευδής" χρονικό όριο = "20"
/> cookieless="false" σε αυτήν την παράγραφο αλλάζει σε cookieless="true", έτσι ώστε οι πληροφορίες συνεδρίας του πελάτη να μην αποθηκεύονται πλέον από cookies, αλλά να αποθηκεύονται μέσω της διεύθυνσης URL. Το κλείσιμο του τρέχοντος IE, το άνοιγμα ενός νέου IE και η εκ νέου πρόσβαση στην εφαρμογή Ιστού θα μοιάζει με αυτό: Μεταξύ αυτών, η έντονη γραμματοσειρά στο http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245)/default.aspx είναι το αναγνωριστικό περιόδου λειτουργίας του πελάτη. Σημειώστε ότι αυτές οι πληροφορίες προστίθενται αυτόματα από τις υπηρεσίες IIS και δεν επηρεάζουν την προηγούμενη κανονική σύνδεση.
|