Oprava: Smsvchost.exe služby WCF reagovat při spuštění služby WCF v rozhraní.NET Framework 3.0 nebo v rozhraní.NET Framework 3.5


Příznaky


Jde o takovouto situaci:
  • Spuštění aplikace založené na rozhraní.NET Framework 3.0 nebo rozhraní.NET Framework 3.5 systémem Windows Communication Foundation (WCF) služby.
  • Služby WCF používá služba Net.Tcp Port Sharing (Smsvchost.exe) a je umístěn v počítači se systémem Internetová informační služba (IIS).
  • Je splněna jedna z následujících podmínek:
    • Využití procesoru je vysoké v počítači se spuštěnou službou IIS.
    • Ovladač rychlosti dochází v modelu služby WCF služby.
    • Služby WCF jsou odesílány více požadavků současně.
V tomto scénáři trvá déle než jednu minutu zpracovat požadavek z klientské aplikace služby WCF. Chybová zpráva, která sestavuje následující položka událostí je zaznamenána v protokolu událostí:

Název protokolu: systém

Zdroj: SMSvcHost 3.0.0.0

Datum:

ID události: 8

Kategorie úkolů: Služba sdílení

Úroveň: Chyba

Klíčová slova: klasické

Uživatel: Místní služba

Počítač:

Popis: Při došlo k chybě odesílání soketu duplicitní: Tento popisovač je prozrazena, nyní v procesu.

ID: 2620

Zdroj: System.ServiceModel.Activation.TcpWorkerProcess

Výjimka:

System.TimeoutException: Tato operace požadavku odeslaná pro nepřijala odpověď během nakonfigurovaného časového limitu (00: 01:00). Čas přidělený této operaci pravděpodobně část delšího časového limitu. To může být, protože služba stále zpracovává operaci nebo služba nemohla odeslat zprávu s odpovědí. Zvažte zvýšení časový limit operace (v obsazení kanálu/serveru proxy na kanál IContextChannel a nastavením vlastnosti OperationTimeout) a ověřte, zda je služba moci připojit ke klientovi.
Poznámka: Po restartování služby IIS obnovení služby WCF z tohoto problému.

Příčina


K tomuto problému dochází, protože proces Smsvchost.exe vyprší po jednu minutu při pokusu o přenos příchozí požadavek na připojení do pracovního procesu W3wp.exe. Tento časový limit je navíc není konfigurovatelné.

Po těžké pracovní vytížení procesoru nebo jsou příchozí požadavky na mnoho souběžných připojení, Smsvchost.exe proces nelze přenést příchozí připojení do pracovního procesu W3wp.exe do jedné minuty. Proto proces Smsvchost.exe vyprší časový limit a nakonec přestane reagovat. Když nastane tento problém, Smsvchost.exe proces nelze směrovat vyšší požadavky pracovního procesu W3wp.exe až po restartování služby IIS.

Řešení


Chcete-li tento problém vyřešit, nainstalujte opravu hotfix 2504602 popsanou v článku znalostní báze Microsoft Knowledge Base (KB).

Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
2504602 kumulativní balíček oprav hotfix je k dispozici pro WCF v rozhraní.NET Framework 3.0 SP2, rozhraní.NET Framework 3.5 SP1 a v rozhraní.NET Framework 4

Stav


Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".