症状

请考虑以下情形:

  • 运行 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日期︰事件 ID: 8任务类别︰ 共享服务级别︰ 错误关键词: 经典用户︰ 本地服务计算机︰说明︰ 调度复制套接字时出现错误︰ 此句柄现在泄漏过程中。ID: 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。

解决方案

若要解决此问题,请应用 Microsoft 知识库 (KB) 文章中介绍的修复程序 2504602。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2504602修复程序汇总包是 wcf.NET Framework 3.0 SP2 中,.NET Framework 3.5 SP1 并在.NET Framework 4 中可用

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。