Исправление: Smsvchost.exe для службы WCF перестает отвечать на запросы при запуске службы WCF в платформа.NET Framework 3.0 или платформа.NET Framework 3.5


Симптомы


Рассмотрим следующий сценарий:
  • Запустите Microsoft платформа.NET Framework 3.0 или 3.5 платформа.NET Framework службы Windows Communication Foundation (WCF).
  • Служба WCF использует Net.Tcp порта службы общего доступа к (Smsvchost.exe) и размещенных на компьютере, на котором работает Internet Information Services (IIS).
  • Одно из следующих условий верно:
    • Использование ЦП окажется высоким на компьютере, на котором выполняется 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. Кроме того это время ожидания не является конфигурируемым.

Когда Процессор имеет большой рабочей нагрузки или при входящих запросов много одновременных подключений, процесс Smsvchost.exe не может передать входящего подключения рабочий процесс W3wp.exe в течение одной минуты. Таким образом процесс Smsvchost.exe время ожидания и в конечном итоге перестает отвечать на запросы. При возникновении этой проблемы в процессе Smsvchost.exe не могут направлять последующие запросы рабочего процесса W3wp.exe до перезапуска IIS.

Решение


Чтобы устранить эту проблему, установите исправление 2504602, описанное в статье базы знаний Майкрософт (KB).

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2504602 накопительный пакет исправлений для WCF в платформа.NET Framework 3.0 SP2, платформа.NET Framework 3.5 SP1 и в платформа.NET Framework 4

Статус


Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".