Παρουσιάζεται διαρροή μνήμης όταν ανοίγετε μια ιστοσελίδα που περιέχει μια κυκλική αναφορά σε iframe

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:
  • Μπορείτε να προβάλετε μια ιστοσελίδα που χρησιμοποιεί τη μέθοδο window.open για να ανοίξετε μια δεύτερη σελίδα Web σε ένα νέο παράθυρο.
  • Το νέο παράθυρο περιέχει ένα στοιχείο IFRAME που φορτώνει μια σελίδα με κυκλικές αναφορές.
Σε αυτό το σενάριο, παρουσιάζεται διαρροή μνήμης κάθε φορά που ανοίγετε το παράθυρο.

Η διαρροή μπορεί επίσης να προκύψει εάν το iframe φορτώνει μια σελίδα που περιέχει ένα στοιχείο ελέγχου Telerik RadGrid για το ASP.NET. Σε αυτό το σενάριο, θα παρατηρήσετε ότι το Ιδιωτικών byte αύξηση κατά 3 MB για κάθε λειτουργία window.open . Αφού ορισμένες άνοιγμα και κλείσιμο πράξεις, τις επιδόσεις του συστήματος μειώνεται σημαντικά.

Για να παρακολουθήσετε τις επιδόσεις του συστήματος, χρησιμοποιήστε εποπτείας επιδόσεων (Perfmon.exe). Στην Εποπτεία επιδόσεων, ελέγξτε τα Ιδιωτικών byte για τον Internet Explorer.

Σημείωση Εάν κάνετε περιήγηση σε σελίδα που φιλοξενείται στο iframe απευθείας και, στη συνέχεια, το ζήτημα δεν παρουσιάζεται.

Πληροφορίες ενημερωμένης έκδοσης ασφαλείας

Για να επιλύσετε αυτό το ζήτημα, εγκαταστήστε την πιο πρόσφατη αθροιστική ενημερωμένη έκδοση ασφαλείας για τον Internet Explorer. Για να εγκαταστήσετε τις πιο πρόσφατες ενημερωμένες εκδόσεις, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
Για περισσότερες τεχνικές πληροφορίες σχετικά με την πιο πρόσφατη αθροιστική ενημερωμένη έκδοση ασφαλείας για τον Internet Explorer, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:
Σημείωση Αυτή η ενημερωμένη έκδοση συμπεριλήφθηκε πρώτα στην ενημερωμένη έκδοση ασφαλείας 2416400 (MS10-090).
Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2416400 MS10-090: Αθροιστική ενημερωμένη έκδοση ασφαλείας για τον Internet Explorer

Πληροφορίες μητρώου

Σημαντικό Αυτή η ενότητα, μέθοδος ή εργασία περιέχει βήματα που σας καθοδηγούν να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Επομένως, βεβαιωθείτε ότι ακολουθείτε προσεκτικά αυτά τα βήματα. Για επιπλέον προστασία, δημιουργήστε αντίγραφα ασφαλείας του μητρώου πριν να το τροποποιήσετε. Στη συνέχεια, μπορείτε να επαναφέρετε το μητρώο εάν προκύψει κάποιο ζήτημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
322756 Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows
Μετά την εγκατάσταση της ενημερωμένης έκδοσης για το Internet Explorer 6 και 7 στον υπολογιστή, πρέπει να προσθέσετε μια τιμή μητρώου για να ενεργοποιήσετε την ενημέρωση κώδικα. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
  1. Κάντε κλικ στο κουμπί Έναρξη, επιλέξτε Εκτέλεση, πληκτρολογήστε regeditκαι, στη συνέχεια, πιέστε το πλήκτρο ENTER.
  2. Εντοπίστε και, στη συνέχεια, κάντε κλικ στο κουμπί το ένα από τα ακόλουθα δευτερεύοντα κλειδιά μητρώου:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
  3. Στο μενού Επεξεργασία, επιλέξτε Δημιουργία και, στη συνέχεια, κάντε κλικ στο Κλειδί.
  4. Πληκτρολογήστε FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736και, στη συνέχεια, πιέστε το πλήκτρο ENTER.
  5. Κάντε δεξιό κλικ στο FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736, επιλέξτε Δημιουργίακαι, στη συνέχεια, κάντε κλικ στην επιλογή Τιμή DWORD.
  6. Πληκτρολογήστε Iexplore.exe, και στη συνέχεια πιέστε το πλήκτρο ENTER.
  7. Κάντε δεξιό κλικ Iexplore.exe, και στη συνέχεια κάντε κλικ στο κουμπί Τροποποίηση.
  8. Στο πλαίσιο " δεδομένα τιμής ", πληκτρολογήστε 1και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  9. Κλείστε τον Επεξεργαστή μητρώου.
Σημείωση Εφαρμογές που φιλοξενούν το στοιχείο ελέγχου WebBrowser (WebOC) ή το MSHTML να επιλέξουν σε την ενημέρωση κώδικα, προσθέτοντας την παραπάνω καταχώρηση μητρώου. Αντικαταστήστε την τιμή DWORD από "iexplore.exe" στο όνομα της εφαρμογής (< Όνομα_εφαρμογής > .exe).

Το ζήτημα δεν παρουσιάζεται στον Internet Explorer 8 ή στον Internet Explorer 9, ωστόσο, με κάποια από τις εκδόσεις του Internet Explorer εγκατεστημένος, εάν χρησιμοποιείτε εφαρμογές που φιλοξενούν το WebBrowser control(WebOC) ή το MSHTML περιήγηση στη σελίδα, στη συνέχεια, το ζήτημα εξακολουθεί να παρουσιάζεται. Τέτοιες εφαρμογές να επιλέξουν σε την ενημέρωση κώδικα, προσθέτοντας μια καταχώρηση μητρώου. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
  1. Κάντε κλικ στο κουμπί Έναρξη, επιλέξτε Εκτέλεση, πληκτρολογήστε regeditκαι, στη συνέχεια, πιέστε το πλήκτρο ENTER.
  2. Εντοπίστε και στη συνέχεια κάντε κλικ σε μία από τις ακόλουθες καταχωρήσεις μητρώου: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
  3. Στο μενού Επεξεργασία, επιλέξτε Δημιουργία και, στη συνέχεια, κάντε κλικ στο Κλειδί.
  4. Πληκτρολογήστε FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUPκαι, στη συνέχεια, πιέστε το πλήκτρο ENTER.
  5. Κάντε δεξιό κλικ στο FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUP, επιλέξτε Δημιουργίακαι, στη συνέχεια, κάντε κλικ στην επιλογή Τιμή DWORD.
  6. Πληκτρολογήστε < Όνομα_εφαρμογής >.exeκαι, στη συνέχεια, πιέστε το πλήκτρο ENTER.
  7. Κάντε δεξιό κλικ στο στοιχείο < Όνομα_εφαρμογής >.exeκαι, στη συνέχεια, κάντε κλικ στο κουμπί Τροποποίηση.
  8. Στο πλαίσιο " δεδομένα τιμής ", πληκτρολογήστε 1και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  9. Κλείστε τον Επεξεργαστή μητρώου.

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες

Για περισσότερες πληροφορίες σχετικά με τη μέθοδο window.open , επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:Για περισσότερες πληροφορίες σχετικά με το στοιχείο IFRAME, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:Για περισσότερες πληροφορίες σχετικά με τις κυκλικές αναφορές, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web
Τα προϊόντα τρίτων κατασκευαστών που περιγράφει αυτό το άρθρο έχουν κατασκευαστεί από εταιρείες που είναι ανεξάρτητες της Microsoft. Η Microsoft δεν παρέχει καμία εγγύηση, σιωπηρή ή άλλη, σχετικά με τις επιδόσεις ή την αξιοπιστία αυτών των προϊόντων.
Ιδιότητες

Αναγνωριστικό άρθρου: 975736 - Τελευταία αναθεώρηση: 13 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια