ΕΠΙΔΙΌΡΘΩΣΗ: Smsvchost.exe για την υπηρεσία WCF σταματά να ανταποκρίνεται κατά την εκτέλεση μιας υπηρεσίας WCF στο .NET Framework 3.0 ή το .NET Framework 3.5


Συμπτώματα


Εξετάστε το ακόλουθο σενάριο:
  • Εκτελείτε το Microsoft βασίζεται στο .NET Framework 3.0 ή το .NET Framework 3.5-υπηρεσίας της υποδομής επικοινωνιών των Windows (WCF).
  • Η υπηρεσία WCF χρησιμοποιεί το Net.Tcp υπηρεσία κοινής χρήσης θυρών (Smsvchost.exe) και φιλοξενείται σε έναν υπολογιστή που εκτελεί το Internet Information Services (IIS).
  • Μία από τις ακόλουθες συνθήκες είναι αληθής:
    • Η χρήση της CPU είναι πολύ υψηλή στον υπολογιστή που εκτελεί τις υπηρεσίες IIS.
    • Επιτάχυνση παρουσιάζεται σε ένα μοντέλο υπηρεσίας για την υπηρεσία WCF.
    • Πολλές αιτήσεις αποστέλλονται στην υπηρεσία WCF ταυτόχρονα.
Σε αυτό το σενάριο, η υπηρεσία WCF διαρκεί περισσότερο από ένα λεπτό για να επεξεργαστεί μια αίτηση από μια εφαρμογή προγράμματος-πελάτη. Επιπλέον, καταγράφεται ένα μήνυμα λάθους που συγκροτεί την ακόλουθη καταχώρηση συμβάντος στο αρχείο καταγραφής συμβάντων:

Συνδεθείτε όνομα: σύστημα

Προέλευση: SMSvcHost 3.0.0.0

Ημ/νία:

Το Αναγνωριστικό συμβάντος: 8

Κατηγορία εργασίας: Υπηρεσία κοινής χρήσης

Επίπεδο: σφάλμα

Λέξεις-κλειδιά: κλασικό

Χρήστη: ΤΟΠΙΚΉ ΥΠΗΡΕΣΊΑ

Υπολογιστή:

Περιγραφή: Παρουσιάστηκε σφάλμα κατά την αποστολή μιας υποδοχής αντιγράφηκε: Αυτός ο δείκτης χειρισμού είναι τώρα διαρροής στη διαδικασία.

ΑΝΑΓΝΩΡΙΣΤΙΚΌ: 2620

Προέλευση: System.ServiceModel.Activation.TcpWorkerProcess

Εξαίρεση:

System.TimeoutException: Αποσταλεί αυτή η λειτουργία απόκρισης δεν έλαβε μια απόκριση εντός του ρυθμισμένου χρονικού ορίου (00: 01:00). Ο χρόνος που εκχωρήθηκε σε αυτήν τη λειτουργία ενδέχεται να αποτελούσε ένα τμήμα ενός μεγαλύτερου χρονικού ορίου. Αυτό μπορεί να είναι επειδή η υπηρεσία επεξεργάζεται ακόμη τη λειτουργία ή επειδή η υπηρεσία δεν ήταν δυνατό να αποστείλει ένα μήνυμα απόκρισης. Εξετάστε το ενδεχόμενο αύξησης του χρονικού ορίου λειτουργίας (ορίζοντας το κανάλι/διακομιστή μεσολάβησης σε IContextChannel και ορίζοντας την ιδιότητα OperationTimeout) και βεβαιωθείτε ότι η υπηρεσία μπορεί να συνδεθεί στον υπολογιστή-πελάτη.
Σημείωση Πρέπει να κάνετε επανεκκίνηση των υπηρεσιών IIS για να ανακτήσετε την υπηρεσία WCF από αυτό το ζήτημα.

Αιτία


Αυτό το ζήτημα παρουσιάζεται επειδή η διαδικασία Smsvchost.exe λήγει μετά από ένα λεπτό όταν προσπαθεί να μεταφέρει μια εισερχόμενη αίτηση σύνδεσης τη διαδικασία εργασίας W3wp.exe. Επιπλέον, αυτό το χρονικό όριο είναι χωρίς δυνατότητα ρύθμισης.

Όταν η CPU έχει ένα βαρύ φόρτο εργασίας ή όταν πολλές αιτήσεις ταυτόχρονων συνδέσεων είναι εισερχόμενο, η διαδικασία Smsvchost.exe δεν είναι δυνατό να μεταφέρετε την εισερχόμενη σύνδεση διαδικασίας W3wp.exe εργασίας μέσα σε ένα λεπτό. Επομένως, η διαδικασία Smsvchost.exe λήγει και τελικά σταματά να ανταποκρίνεται. Όταν παρουσιαστεί αυτό το ζήτημα, η διαδικασία Smsvchost.exe δεν δρομολόγησης αιτήσεων αργότερα η διαδικασία εργασίας W3wp.exe μέχρι να γίνει επανεκκίνηση των υπηρεσιών IIS.

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


Για να επιλύσετε αυτό το ζήτημα, εφαρμόστε την επείγουσα επιδιόρθωση 2504602 που περιγράφεται στο άρθρο της Γνωσιακής Βάσης της Microsoft (KB).

Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
2504602 ενός πακέτου επείγουσας επιδιόρθωσης είναι διαθέσιμη για το WCF το .NET Framework 3.0 SP2, το .NET Framework 3.5 SP1 και το 4 του .NET Framework

Κατάσταση


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