Οι παρουσίες της κλάσης (από την οποία κληρονομεί η Global) δημιουργούνται στην υποδομή ASP.NET και όχι απευθείας από τον χρήστη. Μια παρουσία της κλάσης HttpApplication χρησιμοποιείται για το χειρισμό πολλαπλών αιτημάτων κατά τη διάρκεια της ζωής της, αλλά μπορεί να χειριστεί μόνο ένα αίτημα κάθε φορά. Αυτό επιτρέπει τη χρήση μεταβλητών μελών για την αποθήκευση δεδομένων για κάθε αίτημα.
Η εφαρμογή εκτελεί συμβάντα που χειρίζεται η λειτουργική μονάδα ή ο κώδικας χρήστη που ορίζεται στο αρχείο global.asax με την ακόλουθη σειρά:
1, ΈναρξηΑίτημα (Εμφανίζεται ως το πρώτο συμβάν στην αλυσίδα διοχέτευσης εκτέλεσης HTTP όταν ASP.NET ανταποκρίνεται σε ένα αίτημα)
2, Έλεγχος ταυτότητας αιτήματος (Εμφανίζεται όταν η μονάδα ασφαλείας έχει δημιουργήσει μια ταυτότητα χρήστη.) Σημείωση: Το συμβάν AuthenticateRequest υποδεικνύει ότι ο διαμορφωμένος μηχανισμός ελέγχου ταυτότητας έχει πιστοποιήσει την τρέχουσα αίτηση. Ο προγραμματισμός ενός συμβάντος AuthenticateRequest διασφαλίζει ότι ο έλεγχος ταυτότητας της αίτησης πραγματοποιείται πριν από την επεξεργασία της συνδεδεμένης λειτουργικής μονάδας ή του προγράμματος χειρισμού συμβάντων. )
3, PostAuthenticateRequest (Σημείωση: Αυτό το συμβάν είναι νέο στο .NET Framework έκδοση 2.0.) Εμφανίζεται όταν η μονάδα ασφαλείας έχει δημιουργήσει μια ταυτότητα χρήστη. Το συμβάν PostAuthenticateRequest εμφανίζεται μετά την εμφάνιση του συμβάντος AuthenticateRequest. Η δυνατότητα προγραμματισμού ενός συμβάντος PostAuthenticateRequest μπορεί να έχει πρόσβαση σε οποιαδήποτε δεδομένα υποβάλλονται σε επεξεργασία από το PostAuthenticateRequest. )
4, Εξουσιοδότηση αιτήματος (Εμφανίζεται όταν η μονάδα ασφαλείας έχει επαληθεύσει την εξουσιοδότηση χρήστη.) Το συμβάν AuthorizeRequest υποδεικνύει ότι η ASP.NET έχει εξουσιοδοτήσει την τρέχουσα αίτηση. Ο προγραμματισμός ενός συμβάντος AuthorizeRequest διασφαλίζει ότι τα αιτήματα ελέγχονται και εξουσιοδοτούνται πριν από την επεξεργασία πρόσθετων λειτουργικών μονάδων ή προγραμμάτων χειρισμού συμβάντων. )
5, PostAuthorizeRequest (Νέα συμβάντα στο .NET 2.0.) Συμβαίνει όταν ο χρήστης που ζητείται αυτήν τη στιγμή είναι εξουσιοδοτημένος. Το συμβάν PostAuthorizeRequest σηματοδοτεί ότι η ASP.NET έχει εξουσιοδοτήσει την τρέχουσα αίτηση. Η κράτηση ενός συμβάντος PostAuthorizeRequest διασφαλίζει ότι τα αιτήματα ελέγχονται και εγκρίνονται πριν από την επεξεργασία πρόσθετων λειτουργικών μονάδων ή χειριστών. )
6, ResolveRequestCache (Συμβαίνει όταν ASP.NET ολοκληρώνει ένα συμβάν εξουσιοδότησης ώστε η λειτουργική μονάδα cache να εξυπηρετήσει την αίτηση από το cache, παρακάμπτοντας την εκτέλεση ενός προγράμματος χειρισμού συμβάντων (όπως μια σελίδα ή υπηρεσίες Web XML.) )
7, PostResolveRequestCache (Συμβαίνει όταν ASP.NET παραλείπει την εκτέλεση του τρέχοντος προγράμματος χειρισμού συμβάντων και επιτρέπει στη μονάδα cache να ικανοποιεί αιτήσεις από το cache.) Συμβάν PostResolveRequestCache, PostMapRequestHandler Δημιουργήστε ένα πρόγραμμα χειρισμού συμβάντων (που αντιστοιχεί στη σελίδα της διεύθυνσης URL αιτήματος) πριν από το συμβάν.
8, PostMapRequestHandler Συμβαίνει όταν ASP.NET έχει αντιστοιχίσει την τρέχουσα αίτηση στο κατάλληλο πρόγραμμα χειρισμού συμβάντων
9, ΑπόκτησηΑίτησηςΚατάστασης Συμβαίνει όταν ASP.NET λαμβάνει την τρέχουσα κατάσταση που σχετίζεται με την τρέχουσα αίτηση, όπως η κατάσταση περιόδου λειτουργίας
10, PostAcquireRequestState Συμβαίνει όταν έχετε λάβει μια κατάσταση αίτησης που σχετίζεται με την τρέχουσα αίτηση, όπως μια κατάσταση περιόδου λειτουργίας
11、PreRequestHandlerΕκτέλεση Συμβαίνει λίγο πριν ASP.NET ξεκινήσει να εκτελεί ένα πρόγραμμα χειρισμού συμβάντων (για παράδειγμα, μια σελίδα ή μια υπηρεσία Web XML).
12, PostRequestHandlerΕκτέλεση Συμβαίνει όταν ένα πρόγραμμα χειρισμού συμβάντων ASP.NET (για παράδειγμα, μια σελίδα ή μια υπηρεσία Web XML) ολοκληρώνει την εκτέλεσή του
13, Κατάσταση αιτήματος απελευθέρωσης Εμφανίζεται αφού ASP.NET εκτελέσει όλα τα προγράμματα χειρισμού συμβάντων αίτησης. Αυτό το συμβάν θα αναγκάσει τη μονάδα κατάστασης να αποθηκεύσει τα δεδομένα της τρέχουσας κατάστασης.
14, PostReleaseRequestState Συμβαίνει όταν ASP.NET έχει ολοκληρώσει την εκτέλεση όλων των προγραμμάτων χειρισμού συμβάντων αίτησης και τα δεδομένα κατάστασης αίτησης έχουν αποθηκευτεί.
15, ΕνημέρωσηRequestCache Αυτό συμβαίνει όταν ASP.NET ολοκληρώσει την εκτέλεση του προγράμματος χειρισμού συμβάντων, έτσι ώστε ο χώρος αποθήκευσης της μονάδας cache να χρησιμοποιηθεί για την εξυπηρέτηση της απόκρισης από το cache σε επόμενες αιτήσεις.
16、PostUpdateRequestCache Αυτό το συμβάν παρουσιάζεται αφού ASP.NET ολοκληρώσει την ενημέρωση της μονάδας cache και αποθηκεύσει την απόκριση για την εξυπηρέτηση επόμενων αιτήσεων από το cache.
17, ΤέλοςΑιτήματος Εμφανίζεται ως το τελευταίο συμβάν στην αλυσίδα διοχέτευσης εκτέλεσης HTTP όταν ASP.NET ανταποκρίνεται σε ένα αίτημα.
Ο κωδικός έχει ως εξής:
|