Αναγν. άρθρου: 306355 - Τελευταία αναθεώρηση: Κυριακή, 29 Μαΐου 2011 - Αναθεώρηση: 4.0 Τρόπος δημιουργίας προσαρμοσμένου σφάλματος σελίδες ASP.NET χρησιμοποιώντας Visual C#.NET
Σε αυτήν τη σελίδαΠερίληψη Αυτό το άρθρο περιγράφει τον τρόπο χρήσης της Visual C#.ΚΑΘΑΡΌ κώδικα
παγίδευση και ανταποκρίνεται σε σφάλματα όταν παρουσιάζονται σε σελίδες ASP.NET. ASP.NET βελτιώθηκε το
σφάλμα κατά το χειρισμό επιλογές από παραδοσιακές Microsoft Active Server Pages (ASP). Στο
ASP.ΚΑΘΑΡΉ, μπορείτε να χειριστείτε σφάλματα σε πολλά διαφορετικά επίπεδα σε σας
εφαρμογές. Νέες δυνατότητες των ASP.NETASP.NET προσφέρει αρκετές προόδους της τον τρόπο χειρισμού και ανταποκρίνεται για σφάλματα. Στην παραδοσιακή ASP χειρισμό σφαλμάτων με "Σε σφάλμα Resume Next" (ή try-catch αποκλείει σε JScript). Εναλλακτικά, εάν εκτελείτε το Microsoft Internet Information Services (IIS) 5.0, μπορείτε να χρησιμοποιήσετε το ASPError το αντικείμενο για να δημιουργήσετε ένα προσαρμοσμένο σφάλμα σελίδα αναφοράς. Ωστόσο, αυτές προσεγγίσεις έχουν τους περιορισμούς.ASP.NET παρέχει πολλά επίπεδα στο που μπορεί να χειρίζονται και να απαντήσετε σε σφάλματα που ενδέχεται να παρουσιαστεί όταν εκτελείτε μια ASP.ΚΑΘΑΡΉ εφαρμογή. ASP.NET παρέχει τρεις κύριες μεθόδους που σας επιτρέπουν να παγιδεύσετε και ανταποκρίνεται σε σφάλματα όταν παρουσιάζονται: Page_Error, Application_Error, και το αρχείο ρύθμισης παραμέτρων εφαρμογής (Web.config). Αυτό το άρθρο παρουσιάζει τον τρόπο για να χρησιμοποιήσετε αυτές τις νέες δυνατότητες σε σας ASP.NET εφαρμογή. Παρόλο που αυτό το άρθρο περιγράφει τον τρόπο παροχής προσαρμοσμένες σελίδες σφαλμάτων Γενική αναφορά σφαλμάτων και όπως σχετίζεται άμεσα με ASP.NET, αυτό το άρθρο Περιγράψτε άλλο σφάλμα χειρισμού προσεγγίσεις, όπως η try-catch-τέλος Αποκλεισμός και εξαίρεση χρόνου εκτέλεσης κοινής γλώσσας (CLR) το σύστημα. Τρόπος χρήσης της μεθόδου Page_ErrorΤο Page_Error πρόγραμμα χειρισμού συμβάντων παρέχει έναν τρόπο παγίδευσης σφάλματα που παρουσιάζονται κατά την επίπεδο σελίδας. Μπορείτε απλώς να εμφανίσετε πληροφορίες σφάλματος (ως δείγμα κώδικα για Ακολουθήστε κάνει), ή μπορείτε να συνδεθείτε στο συμβάν ή να πραγματοποιήσετε κάποια άλλη ενέργεια.Σημείωση Αυτό το παράδειγμα εμφανίζει λεπτομερών πληροφοριών σφάλματος στο πρόγραμμα περιήγησης μόνο για σκοπούς επίδειξης. Θέλετε να είστε προσεκτικοί κατά την εμφάνιση λεπτομερείς πληροφορίες για τον τελικό χρήστη της εφαρμογής, ιδίως όταν το εφαρμογή εκτελείται στο Internet. Θα ήταν καταλληλότερη ενέργεια εμφανίζεται ένα μήνυμα στο χρήστη, ειδοποιώντας ότι παρουσιάστηκε σφάλμα, και στη συνέχεια, στην πραγματικότητα καταγραφή λεπτομέρειες του συγκεκριμένου σφάλματος στο αρχείο καταγραφής συμβάντων. Αυτό το παράδειγμα παρουσιάζει null εξαίρεσης, η οποία επιβάλλει το σφάλμα παρουσιάζεται στο του Page_Load το πρόγραμμα χειρισμού συμβάντων. Ακολουθήστε τα εξής βήματα για να δημιουργήσετε την αρχική σελίδα που θα αποδειχθεί χρησιμοποιώντας το Page_Error το πρόγραμμα χειρισμού συμβάντων.
Επιπλέον, θα πρέπει να λαμβάνουν Σημείωση από το Κληρονομεί χαρακτηριστικό στο του @ Page οδηγία. Εάν Κληρονομεί έχει οριστεί, πρέπει να δημιουργήσετε το έργο πριν να μεταβείτε στη σελίδα. Εάν δεν δημιουργήσετε πρώτα το έργο, λαμβάνετε το ακόλουθο μήνυμα λάθους: 'Project.PageEvent' δεν είναι έγκυρος τύπος Τρόπος χρήσης της μεθόδου Application_ErrorΠαρόμοια με το Page_Error το πρόγραμμα χειρισμού συμβάντων, μπορείτε να χρησιμοποιήσετε το Application_Error το πρόγραμμα χειρισμού συμβάντων παγίδευσης σφάλματα που παρουσιάζονται στην εφαρμογή σας. Παράδοσης εμβέλεια εφαρμογής όλο το συμβάν, μπορείτε να συνδεθείτε από σφάλμα εφαρμογής πληροφορίες ή άλλα σφάλματα επιπέδου εφαρμογής που ενδέχεται να προκύψουν.Το δείγμα να ακολουθήσετε είναι με βάση το προηγούμενο Page_Error δείγμα κώδικα και θα ενεργοποιείται, εάν το σφάλμα στο Page_Load ήταν παγιδευμένα σε το Page_Error το πρόγραμμα χειρισμού συμβάντων. Το Application_Error το πρόγραμμα χειρισμού συμβάντων ορίζεται στο αρχείο Global.asax σας εφαρμογή. Για λόγους ευκολίας, τα βήματα σε αυτήν την ενότητα Δημιουργία νέας σελίδας σε Για να δημιουργήσει την εξαίρεση, την παγίδευση σφαλμάτων σε το Application_Error το πρόγραμμα χειρισμού συμβάντων του το Global.asax αρχείου και γράψετε το σφάλμα του αρχείο καταγραφής συμβάντων. Τα παρακάτω βήματα δείχνουν τον τρόπο χρήσης του Application_Error μέθοδος:
Τρόπος χρήσης του αρχείου Web.configΑν δεν καλέσετε Server.ClearError ή συναρμογής σφάλμα κατά την Page_Error ή Application_Error πρόγραμμα χειρισμού συμβάντων, το σφάλμα γίνεται με βάση τις ρυθμίσεις του ενότητα<customerrors> του αρχείου Web.config. Με το <customerrors> ενότητα, μπορείτε να καθορίσετε μια σελίδα ανακατεύθυνσης ως προεπιλογή σφάλμα σελίδας (</customerrors></customerrors>defaultRedirect) ή να καθορίσετε μια συγκεκριμένη σελίδα, ανάλογα με τον κωδικό σφάλματος HTTP που ενεργοποιείται. Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για να προσαρμόσετε το σφάλμα μηνύματος που το χρήστης λαμβάνει.Εάν παρουσιαστεί σφάλμα, που είναι παγιδευμένα σε οποιαδήποτε από τις εμφανίζεται προηγούμενα επίπεδα στην εφαρμογή σας, αυτή η προσαρμοσμένη σελίδα. Αυτό ενότητα παρουσιάζει πώς μπορείτε να τροποποιήσετε το αρχείο Global.asax ώστε Server.ClearError καλείται ποτέ. Ως αποτέλεσμα, το σφάλμα γίνεται με το Το αρχείο Web.config ως τελευταίο σημείο για να παγιδεύσει το σφάλμα.
Σημειώστε ότι το <customerrors> ενότητα περιλαμβάνει ένα<b00></b00></customerrors>κατάσταση λειτουργίας χαρακτηριστικό που έχει οριστεί σε Σε. Το κατάσταση λειτουργίας το χαρακτηριστικό χρησιμοποιείται για να ελέγξετε τον τρόπο ανακατεύθυνσης σφάλμα προκύπτει. Για παράδειγμα, εάν αναπτύσσετε την εφαρμογή, πιθανότατα θέλετε να δείτε πραγματική ASP.NET μηνύματα λάθους και δεν θέλετε να γίνει ανακατεύθυνση πιο σελίδα σφάλματος φιλικό προς το χρήστη. Το κατάσταση λειτουργίας χαρακτηριστικό περιλαμβάνει τις ακόλουθες ρυθμίσεις:
Αντιμετώπιση προβλημάτωνΜε την προεπιλεγμένη εγκατάσταση σε Microsoft Windows 2000 και σε Τα Microsoft Windows XP, ASP.NET εκτελεί κώδικα της εφαρμογής Web σε μια διαδικασία εργασίας. Η ταυτότητα αυτή η διαδικασία προεπιλογών για τοπικό λογαριασμό χωρίς δικαιώματα που ονομάζεται λογαριασμό ASPNET. Σε εκδόσεις beta των ASP.NET, ήταν η ταυτότητα διεργασίας Σύστημα, ένα ισχυρό διαχείρισης λογαριασμό με πολλά δικαιώματα στον υπολογιστή.Με την προεπιλεγμένη εγκατάσταση στον Windows Server 2003 (IIS 6), ASP.NET εκτελεί κώδικα της εφαρμογής Web σε μια διαδικασία εργασίας. Η ταυτότητα αυτή τη διαδικασία προεπιλογές περιορισμένο λογαριασμό που ονομάζεται NetworkService. Για περισσότερες πληροφορίες πληροφορίες σχετικά με αυτήν την αλλαγή και πώς μπορεί να επηρεάσει στην εκτέλεση του κώδικα σε αυτό επισκεφθείτε το άρθρο και άλλα άλλο κώδικα που μπορεί να χρειαστείτε επιπλέον δικαιώματα στις ακόλουθες τοποθεσίες Web: Έκδοση
1 Αλλαγές ασφαλείας για το Microsoft.NET Framework http://msdn2.Microsoft.com/en-us/library/ms994923.aspx (http://msdn2.microsoft.com/en-us/library/ms994923.aspx) Αναφορές Για περισσότερες πληροφορίες, επισκεφθείτε την ακόλουθη Web Microsoft
τοποθεσίες: Εξαίρεση διαχείρισης.NET http://msdn2.Microsoft.com/en-us/library/ms954599.aspx (http://msdn2.microsoft.com/en-us/library/ms954599.aspx) Η μέθοδος HttpServerUtility.ClearError .aspx http://msdn2.Microsoft.com/en-us/library/System.Web.httpserverutility.clearerror (vs.71) (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebHttpServerUtilityClassClearErrorTopic.asp) MSDN.Κέντρο ανάπτυξης NET http://msdn2.Microsoft.com/en-US/netframework/Default.aspx (http://msdn2.microsoft.com/en-us/netframework/default.aspx) Από τη Microsoft.NET κεντρική σελίδα http://www.Microsoft.com/NET/ (http://www.microsoft.com/net/) Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
Μηχανικά μεταφρασμένοΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης. Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:306355
(http://support.microsoft.com/kb/306355/en-us/
)
| Άλλοι πόροι Tοποθεσίες υποστήριξης
ΚοινότηταΆμεση λήψη βοήθειαςΜεταφράσεις άρθρων
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Επιστροφή στην αρχή
