Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με τη Microsoft
Εισέλθετε ή δημιουργήστε ένα λογαριασμό.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε το λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Συμπτώματα

Ας υποθέσουμε ότι έχετε κάνει αναβάθμιση σε Microsoft .NET Framework 4.6 στον υπολογιστή σας. Όταν χρησιμοποιείτε μια εφαρμογή που χρησιμοποιεί το πλαίσιο επικοινωνίας των Windows (WCF) για να στείλετε μηνύματα XML SOAP, η κωδικοποίηση μπορεί να διαρκέσει λίγο περισσότερο χρόνο. Σε ορισμένες περιπτώσεις, αυτό μπορεί να επηρεάσει το ρυθμό με τον οποίο μια εφαρμογή διακομιστή μπορεί να επεξεργαστεί αιτήσεις.

Αιτία

Αυτό το ζήτημα παρουσιάζεται εξαιτίας ενός νέου έγκαιρος (JIT) του που ονομάζεται RyuJIT. Το πρόγραμμα μεταγλώττισης χρησιμοποιεί διαφορετικών βελτιστοποιήσεων από το πρόγραμμα μεταγλώττισης παλαιού τύπου JIT64. Μια μέθοδος σε μια διαδρομή θερμών κώδικα για την κωδικοποίηση συμβολοσειρές με το XmlDictionaryWriter, απαιτείται δεν έχει βελτιστοποιηθεί για το νέο πρόγραμμα μεταγλώττισης JIT και τις που δημιουργήθηκε εγγενή οδηγίες εκτελούνται πιο αργά και την κωδικοποίηση διαρκεί περισσότερο. Όταν ένα μήνυμα SOAP περιέχει μεγάλο αριθμό συμβολοσειρές για κωδικοποίηση, αυτός ο κωδικός πιο αργή χρησιμοποιείται πιο συχνά και μπορεί να επηρεάσει το χρόνο κωδικοποίησης.

Προτεινόμενη αντιμετώπιση

Για να επιλύσετε αυτό το ζήτημα, ρυθμίστε τις παραμέτρους της εφαρμογής, για να απενεργοποιήσετε τη χρήση ngen για τη συναρμολόγηση του System.Runtime.Serialization.dll και να χρησιμοποιούν το μηχανισμό JIT παλαιού τύπου. Για να γίνει αυτό, χρησιμοποιήστε μία από τις ακόλουθες μεθόδους:

  • Ορίστε τις παρακάτω μεταβλητές περιβάλλοντος:

    COMPLUS_useLegacyJit=1
    COMPLUS_DisableNativeImageLoadList=System.Runtime.Serialization

  • Στο μητρώο, μπορείτε να δημιουργήσετε οποιαδήποτε από τα ακόλουθα δευτερεύοντα κλειδιά:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework

    Στη συνέχεια, προσθέστε τις ακόλουθες τιμές:

    • Όνομα κλειδιού: useLegacyJit
      Τύπος: REG_WORD
      Τιμή: 1

    • Όνομα κλειδιού: DisableNativeImageLoadList
      Τύπος: REG_SZ
      Τιμή: System.Runtime.Serialization

  • Προσθέστε το ακόλουθο κείμενο στην < εφαρμογή >. exe.config αρχείο. Εάν δεν υπάρχει ήδη, δημιουργήστε τις ενότητες που υποδεικνύεται.<configuration> <runtime>
    <useLegacyJit enabled="1">
    <disableNativeImageLoad>
    <assemblyIdentity name="System.Runtime.Serialization" />
    </disableNativeImageLoad>
    </runtime>
    </configuration>



Για περισσότερες πληροφορίες σχετικά με τα γνωστά ζητήματα της 4.6 του .NET Framework, ανατρέξτε στο θέμα Γνωστά ζητήματα για το 4.6 του .NET Framework.

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

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

Χρειάζεστε περισσότερη βοήθεια;

Αναπτύξτε τις δεξιότητές σας
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Συμμετοχή στο Microsoft Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;

Σας ευχαριστούμε για τα σχόλιά σας!

×