Οδηγός διαχείρισης συνεδρίας ASP.NET [Παράδειγμα]

Διαχείριση συνεδρίας ASP.NET

Το πρωτόκολλο HTTP στο οποίο λειτουργούν όλες οι εφαρμογές Ιστού είναι πρωτόκολλο χωρίς κατάσταση. Με τον όρο ανιθαγενής, σημαίνει απλώς ότι οι πληροφορίες δεν διατηρούνται από το ένα αίτημα στο άλλο.

Για παράδειγμα, εάν είχατε μια σελίδα σύνδεσης με 2 πλαίσια κειμένου, ένα για το όνομα και το άλλο για τον κωδικό πρόσβασης. Όταν κάνετε κλικ στο κουμπί Σύνδεση σε αυτήν τη σελίδα, η εφαρμογή πρέπει να διασφαλίσει ότι το όνομα χρήστη και ο κωδικός πρόσβασης θα περάσουν στην επόμενη σελίδα.

Στο ASP.Net, αυτό γίνεται με διάφορους τρόπους. Ο πρώτος τρόπος είναι μέσω μιας έννοιας που ονομάζεται ViewState. Αυτό είναι όπου το ASP.Net αποθηκεύει αυτόματα τα περιεχόμενα όλων των στοιχείων ελέγχου. Διασφαλίζει επίσης ότι αυτό μεταβιβάζεται στην επόμενη σελίδα. Αυτό γίνεται μέσω μιας ιδιότητας που ονομάζεται ViewState.

Δεν είναι ιδανικό για έναν προγραμματιστή να αλλάξει κάτι στην κατάσταση προβολής. Αυτό συμβαίνει επειδή θα πρέπει να το χειρίζεται μόνο το ASP.Net.

Αντικείμενο συνεδρίας ASP.NET

Ο άλλος τρόπος είναι να χρησιμοποιήσετε ένα αντικείμενο που ονομάζεται "Αντικείμενο περιόδου λειτουργίας". Το αντικείμενο Session είναι διαθέσιμο σε όλο τον κύκλο ζωής της εφαρμογής. Μπορείτε να αποθηκεύσετε οποιονδήποτε αριθμό ζευγών κλειδιών-τιμών στο αντικείμενο Session. Έτσι, σε οποιαδήποτε σελίδα, μπορείτε να αποθηκεύσετε μια τιμή στο αντικείμενο Session μέσω της παρακάτω γραμμής κώδικα.

Session["Key"]=value

Αυτό αποθηκεύει την τιμή σε ένα αντικείμενο Session και το τμήμα 'κλειδί' χρησιμοποιείται για να δώσει στην τιμή ένα όνομα. Αυτό επιτρέπει την ανάκτηση της τιμής σε μεταγενέστερο χρονικό σημείο. Για να ανακτήσετε μια τιμή, μπορείτε απλώς να εκδώσετε την παρακάτω δήλωση.

Session["Key"]

Παράδειγμα αντικειμένου περιόδου λειτουργίας ASP.NET

Στο παράδειγμά μας, πρόκειται να χρησιμοποιήσουμε το αντικείμενο Session για να αποθηκεύσουμε το όνομα που έχει εισαχθεί στο πεδίο κειμένου name στη σελίδα. Στη συνέχεια θα ανακτήσουμε αυτήν την τιμή και θα την εμφανίσουμε στη σελίδα ανάλογα. Ας προσθέσουμε τον παρακάτω κώδικα στο αρχείο Demo.aspx.cs.

Χρησιμοποιήστε το αντικείμενο συνεδρίας

protected void btnSubmit_Click(object sender,EventArgs e)
{
	Session["Name"] = txtName.Text;

	Response.Write(Session["Name"]);

	lblName.Visible = false; 
	txtName.Visible = false; 
	1stLocation.Visible = false;
	chkC.Visible = false; 
	chkASP.Visible = false; 
	rdMale.Visible = false;
	rdFemale.Visible = false;
	btnSubmit.Visible = false;
}

Επεξήγηση κώδικα: -

  1. Η πρώτη γραμμή κώδικα παίρνει την τιμή του στοιχείου ελέγχου πλαισίου κειμένου Όνομα και την αποθηκεύει στο αντικείμενο Session. Καθορίζοντας τον κωδικό της περιόδου λειτουργίας ["Όνομα"] , δίνουμε στην ιδιότητα ένα όνομα που ονομάζεται "Όνομα". Καθορίζοντας ένα όνομα για το ακίνητο, γίνεται ευκολότερο να το ανακτήσετε σε μεταγενέστερο χρονικό σημείο.
  2. Η επόμενη γραμμή κώδικα ανακτά την αποθηκευμένη τιμή από το αντικείμενο Session. Στη συνέχεια, γράφει αυτήν την τιμή μέσω της μεθόδου 'Response.Write' πίσω στον πελάτη.
  3. Τέλος, κάνουμε όλα τα χειριστήρια στη φόρμα ως αόρατα. Εάν δεν το κάνουμε αυτό, όλα τα στοιχεία ελέγχου συν τις τιμές απόκρισης θα εμφανιστούν μαζί.

Μόλις κάνετε τις παραπάνω αλλαγές, θα δείτε την ακόλουθη έξοδο

Παραγωγή:

Χρησιμοποιήστε το αντικείμενο συνεδρίας

Από την έξοδο, μπορείτε να δείτε ότι η τιμή Session του ονόματος ανακτήθηκε και εμφανίστηκε στο πρόγραμμα περιήγησης.

Σύνοψη

  • Η διαχείριση συνεδρίας είναι ένας τρόπος να εισέλθετε ASP.net για να διασφαλιστεί ότι οι πληροφορίες μεταφέρονται από τη μια σελίδα στην άλλη.
  • Η ιδιότητα κατάστασης προβολής μιας σελίδας χρησιμοποιείται για την αυτόματη μεταβίβαση των πληροφοριών των στοιχείων ελέγχου από τη μια σελίδα στην άλλη.
  • Το αντικείμενο 'Session' χρησιμοποιείται για την αποθήκευση και ανάκτηση συγκεκριμένων τιμών σε μια ιστοσελίδα.