Objawy
Rozważ następujący scenariusz:
-
Program Microsoft.NET Framework 3.0 lub.NET Framework 3.5 usługi Windows Communication Foundation (WCF).
-
Usługa WCF używa usługi Udostępnianie portów Net.Tcp (Smsvchost.exe) i jest przechowywana na komputerze, na którym jest uruchomiony program Internet Information Services (IIS).
-
Spełniony jest jeden z następujących warunków:
-
Użycie Procesora jest wysokie na komputerze, na którym działa program IIS.
-
Przepustnicy występuje w modelu usług dla usługi WCF.
-
Wielokrotne żądania są wysyłane do usługi WCF w tym samym czasie.
-
W tym scenariuszu Usługa WCF trwa dłużej niż jedną minutę, aby przetworzyć żądanie od aplikacji klienta. Dodatkowo komunikat o błędzie, który asembluje następujący wpis zdarzenie jest rejestrowane w dzienniku zdarzeń:
Login: System
Źródło: SMSvcHost 3.0.0.0
Data:
Identyfikator zdarzenia: 8
Kategorii zadań: Usługa udostępniania
Poziom: Błąd
Słowa kluczowe: Klasyczne
Użytkownika: Usługa lokalna
Komputer:
Opis: Wystąpił błąd podczas wysyłania zduplikowane gniazda: Ten uchwyt jest teraz przecieku w procesie.
ID: 2620
Źródło: System.ServiceModel.Activation.TcpWorkerProcess
Wyjątek:
System.TimeoutException: Ta operacja żądania wysyłane nie otrzymał odpowiedzi w ciągu skonfigurowanego limitu czasu (00: 01:00). Czas przeznaczony na tę operację mógł część większego limitu czasu. Może to być, ponieważ usługa jest nadal przetwarzania operacji lub usługa nie może wysłać komunikatu odpowiedzi. Należy rozważyć zwiększenie limitu czasu operacji (przez rzutowanie kanału/proxy do IContextChannel i ustawienie właściwości OperationTimeout) i upewnij się, że usługa jest w stanie połączyć się z klientem.
Uwaga Należy ponownie uruchomić usługi IIS, aby odzyskać z tego problemu z usługą WCF.
Przyczyna
Ten problem występuje, ponieważ proces Smsvchost.exe limit czasu po jednej minucie, kiedy próbuje przesłać żądanie połączenia przychodzące do procesu roboczego W3wp.exe. Dodatkowo nie konfiguruje się ten limit czasu.
Gdy Procesor ma duże obciążenie, lub dużej liczby żądań połączeń równoczesnych są przychodzące, proces Smsvchost.exe nie można przenieść do procesu roboczego W3wp.exe połączenie przychodzące w ciągu jednej minuty. W związku z tym proces Smsvchost.exe limit czasu i ostatecznie przestaje odpowiadać. Gdy ten problem wystąpi, proces Smsvchost.exe nie można kierować żądań później do procesu roboczego W3wp.exe, ponownego uruchomienia usług IIS.
Rozwiązanie
Aby rozwiązać ten problem, należy zastosować poprawkę 2504602, który jest opisany w artykule bazy wiedzy Microsoft Knowledge Base (KB).
Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2504602 pakiet zbiorczy poprawek jest dostępna dla usług WCF.NET Framework 3.0 z dodatkiem SP2,.NET Framework 3.5 z dodatkiem SP1 i programu.NET Framework 4
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.