Αναγν. άρθρου: 911816 - Τελευταία αναθεώρηση: Παρασκευή, 24 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0 Προκαλέσει ανεπίλυτες εξαιρέσεις, εφαρμογές που βασίζονται στο ASP.NET για να τερματιστεί απροσδόκητα στο .NET Framework 2.0
Σε αυτήν τη σελίδαΣυμπτώματαΌταν μια ανεπίλυτη εξαίρεση στο Microsoft ASP.NET με εφαρμογή, η οποία είναι ενσωματωμένη στο Microsoft .NET Framework 2.0, η εφαρμογή απροσδόκητα κλείνει. Όταν παρουσιαστεί αυτό το ζήτημα, υπάρχουν πληροφορίες εξαίρεσης που είναι απαραίτητα για την κατανόηση του ζητήματος καταγράφεται στο αρχείο καταγραφής εφαρμογής. Ωστόσο, ενδέχεται να καταγραφεί ένα μήνυμα συμβάντος που είναι παρόμοιο με το ακόλουθο στο αρχείο καταγραφής συστήματος: Τύπος συμβάντος: προειδοποίηση Τύπος συμβάντος (Event Type): Σφάλμα (Error) ΑιτίαΑυτό το ζήτημα προκύπτει επειδή έχει αλλάξει η προεπιλεγμένη πολιτική για ανεπίλυτες εξαιρέσεις στο .NET Framework 2.0. Από προεπιλογή, η πολιτική για ανεπίλυτες εξαιρέσεις είναι για να τερματίσετε τη διεργασία. Με το Microsoft .NET Framework 1.1 και το Microsoft .NET Framework 1.0, αγνοήθηκαν ανεπίλυτες εξαιρέσεις σε διαχειριζόμενο νημάτων. Αν δεν προσαρτηθεί ένα πρόγραμμα εντοπισμού σφαλμάτων για να τραβήξετε την εξαίρεση, δεν θα αντιληφθούν οτιδήποτε ήταν εσφαλμένη. Το ASP.NET χρησιμοποιεί την προεπιλεγμένη πολιτική για ανεπίλυτες εξαιρέσεις στο .NET Framework 2.0. Όταν είναι μια ανεπίλυτη εξαίρεση, η εφαρμογή που βασίζεται στο ASP.NET τερματίζεται απροσδόκητα. Η συμπεριφορά αυτή δεν ισχύει για εξαιρέσεις που παρουσιάζονται στο περιβάλλον μιας αίτησης. Αυτά τα είδη των εξαιρέσεων εξακολουθεί να είναι ο χειρισμός και αναδίπλωση κειμένου από έναHttpExceptionObject. Εξαιρέσεις που παρουσιάζονται στο περιβάλλον μιας αίτησης δεν προκαλούν τη διαδικασία εργασίας στο τέλος. Ωστόσο, ανεπίλυτες εξαιρέσεις έξω από το περιβάλλον μιας αίτησης, όπως οι εξαιρέσεις σε ένα νήμα χρονιστή ή μιας συνάρτησης επιστροφής κλήσης, έχει ως αποτέλεσμα η διαδικασία εργασίας στο τέλος. Προτεινόμενη αντιμετώπισηΓια την επίλυση αυτού του ζητήματος, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους. Μέθοδος 1Τροποποιήστε τον κώδικα προέλευσης για τοIHttpModuleτο αντικείμενο, έτσι ώστε να θα καταγράφει πληροφορίες εξαίρεσης στο αρχείο καταγραφής εφαρμογής. Οι πληροφορίες που καταγράφεται περιλαμβάνουν τα εξής:
ΣΗΜΕΙΩΣΗΑυτός ο κωδικός θα καταγράφει ένα μήνυμα που περιέχει τον τύπο συμβάντος τηςΣΦΑΛΜΑκαι την προέλευση τουΤΟ ASP.NET 2.0.50727.0στο αρχείο καταγραφής εφαρμογής. Για να δοκιμάσετε τη λειτουργική μονάδα, αίτησης ASP.NET μια σελίδα που χρησιμοποιεί τοThreadPool.QueueUserWorkItemμέθοδος για την κλήση μιας μεθόδου που παρουσιάζει μια εξαίρεση που δεν αντιμετωπίστηκε.
Μέθοδος 2Αλλάξτε την πολιτική ανεπίλυτη εξαίρεση την προεπιλεγμένη συμπεριφορά που παρουσιάζεται στο .NET Framework 1.1 και το .NET Framework 1.0.ΣΗΜΕΙΩΣΗΔεν συνιστούμε να αλλάξετε την προεπιλεγμένη συμπεριφορά. Εάν παραβλέψετε εξαιρέσεις, η εφαρμογή μπορεί να διαρροή πόρων και να εγκαταλείψετε κλειδώματα. Για να ενεργοποιήσετε αυτήν την προεπιλεγμένη συμπεριφορά, προσθέστε τον ακόλουθο κώδικα στο αρχείο Aspnet.config που βρίσκεται στον ακόλουθο φάκελο: %WINDIR%\Microsoft.NET\Framework\v2.0.50727 ΚατάστασηΑυτή η συμπεριφορά οφείλεται στη σχεδίαση. Περισσότερες πληροφορίεςFor more information about changes in the .NET Framework
2.0, visit the following Microsoft Developer Network (MSDN) Web site: http://msdn2.microsoft.com/en-us/netframework/aa570326.aspx
(http://msdn2.microsoft.com/en-us/netframework/aa570326.aspx)
Μηχανικά μεταφρασμένοΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης. Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:911816
(http://support.microsoft.com/kb/911816/en-us/
)
| Άλλοι πόροι Tοποθεσίες υποστήριξης
ΚοινότηταΆμεση λήψη βοήθειαςΜεταφράσεις άρθρων |






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


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