1: Εισαγωγή στη συνεδρία
Τι είναι το Session; Με απλά λόγια, είναι ένας αριθμός που δίνεται στον πελάτη από τον διακομιστή. Όταν εκτελείται ένας διακομιστής web, ενδέχεται να υπάρχουν πολλοί χρήστες που περιηγούνται σε τοποθεσίες Web που εκτελούνται σε αυτόν το διακομιστή. Όταν κάθε χρήστης συνδέεται για πρώτη φορά στον διακομιστή ιστού, δημιουργεί μια περίοδο λειτουργίας με τον διακομιστή και ο διακομιστής του εκχωρεί αυτόματα ένα SessionID για να προσδιορίσει τη μοναδική ταυτότητα του χρήστη. Αυτό το SessionID είναι μια συμβολοσειρά 24 χαρακτήρων που δημιουργείται τυχαία από τον διακομιστή ιστού και θα τη δούμε σε δράση στο παρακάτω πείραμα.
2: Κεντρική λειτουργία και διαμόρφωση της συνεδρίας στο Asp.Net
(1): InProc, Session αποθηκεύεται στη διαδικασία, η οποία είναι επίσης η μέθοδος αποθήκευσης στο ASP.Net και είναι επίσης η προεπιλεγμένη τιμή (2): StateServer, Session αποθηκεύεται σε χωριστή κρατική υπηρεσία, δηλαδή ASP.NET State Service (3): SQLServer, η περίοδος λειτουργίας αποθηκεύεται στη βάση δεδομένων του SQL Server (4): Προσαρμοσμένη, μια προσαρμοσμένη μέθοδος αποθήκευσης, η οποία μπορεί να αποθηκευτεί σε Oracle, SQLServer, MongoDb και Redis Αυτό το άρθρο μιλά κυρίως για την αποθήκευση και την κοινή χρήση των Sessions στο Redis
3: Διαμόρφωση υπηρεσίας παροχής συνεδρίας με βάση το Redis
(1) Κάντε τις ακόλουθες αλλαγές στα HomeControllers των Τοποθεσιών Α και Β, όπως φαίνεται στην παρακάτω εικόνα, και προσθέστε τις λειτουργίες δημιουργίας και λήψης περιόδων σύνδεσης
Οι αντίστοιχες προβολές View
(2) Διαμόρφωση RedisProvider: Microsoft.Web.RedisSessionStateProvider Εγκαταστήστε το Microsoft.Web.RedisSessionStateProvider με το Nuget όπως φαίνεται στην παρακάτω εικόνα:
Τροποποιήστε το προφίλ:
4. Δοκιμή συνεδρίας εξισορρόπησης φορτίου
(1) Εισαγάγετε στο πρόγραμμα περιήγησης:http://192.168.152.128/ Δημιουργήστε μια συνεδρία
(2) Εισαγάγετε στο πρόγραμμα περιήγησης:http://192.168.152.128/home/getsessionvalue, Ανοίξτε δύο καρτέλες, φροντίστε να τις ανοίξετε στο ίδιο παράθυρο του προγράμματος περιήγησης, διαφορετικά το SessionID θα είναι σίγουρα διαφορετικό
Από το σχήμα, μπορείτε να δείτε ότι ο ιστότοπος Α μοιράζεται τις συνεδρίες που δημιουργήθηκαν από τον ιστότοπο Β. Μπορείτε επίσης να δείτε τη συνεδρία που μόλις δημιουργήσατε από το redis όπως φαίνεται στο παρακάτω σχήμα
|