Simptome
Să luăm în considerare următorul scenariu:
-
Executați Microsoft .NET Framework 3.0 sau .NET Framework 3.5 service Windows Communication Foundation (WCF).
-
Serviciul WCF utilizează Net.Tcp Port serviciu de partajare (Smsvchost.exe) și este găzduit pe un computer care execută Internet Information Services (IIS).
-
Este adevărată una dintre următoarele condiții:
-
Modul de utilizare CPU este ridicat pe computerul care execută IIS.
-
Un throttle apare într-un model de serviciu pentru serviciul WCF.
-
Solicitările multiple sunt trimise către serviciul WCF în același timp.
-
În acest scenariu, serviciul WCF durează mai mult de un minut să proceseze o solicitare de la o aplicație client. În plus, un mesaj de eroare care se realizează următoarea intrare de eveniment se înregistrează în Jurnalul de evenimente:
Nume jurnal: sistem
Sursă: SMSvcHost 3.0.0.0
Data:
ID eveniment: 8
Categorie activitate: Serviciu de partajare
Nivel: eroare
Cuvinte cheie: clasic
Utilizator: Serviciul LOCAL
Computer:
Descriere: Eroare la expedierea un duplicat socket: acest identificator este acum scurs în procesul.
ID: 2620
Sursă: System.ServiceModel.Activation.TcpWorkerProcess
Excepție:
System.TimeoutException: Această operațiune solicitare trimise către nu primește un răspuns în decurs de expirare configurat (00: 01:00). Timpul alocat pentru această operațiune poate să fi fost o parte din o expirare mai mult. Acest lucru poate fi, deoarece serviciul este încă operațiunea de prelucrare sau deoarece serviciul nu a reușit să trimiteți un mesaj de răspuns. Vă rugăm să luați în considerare creşterea operation timeout (prin turnare canal/proxy pentru a IContextChannel şi setarea proprietății OperationTimeout) și asigurați-vă că serviciul se poate conecta la client.
Notă Trebuie să reporniți IIS pentru a restabili serviciul WCF din această problemă.
Cauza
Această problemă se produce deoarece procesul Smsvchost.exe expiră după un minut atunci când încearcă să transferați o intrare solicitarea de conectare în procesul de lucru W3wp.exe. În plus, acest interval este non-configurabil.
Când CPU are un volum de lucru greu sau multe solicitări simultane conexiune sunt primite, procesul de Smsvchost.exe nu poate transfera conexiune de intrare W3wp.exe procesului de lucru într-un minut. De aceea, procesul de Smsvchost.exe expiră și în cele din urmă nu mai răspunde. Când apare această problemă, procesul de Smsvchost.exe nu poate dirija solicitări ulterioare a procesului de lucru W3wp.exe până la repornirea IIS.
Rezolvare
Pentru a rezolva această problemă, aplicați remedierea rapidă 2504602 care este descrisă în articol din baza de cunoștințe Microsoft (KB).
Pentru mai multe informaţii, faceţi clic pe următorul număr de articol pentru a vedea articolul în baza de cunoştinţe Microsoft:
2504602 un pachet set de remedieri rapide este disponibilă pentru WCF în .NET Framework 3.0 SP2, în .NET Framework 3.5 SP1 și în .NET Framework 4
Stare
Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".