Сервер состояний регистрирует событие с идентификатором 1072 или событием 1076

Эта статья поможет устранить проблему, из-за которой события журнала с идентификатором 1072 или 1076 на серверах состояний.

Исходная версия продукта: Microsoft платформа .NET Framework
Исходный номер базы знаний: 308097

Симптомы

Одно из приведенных ниже событий отображается в журнале событий приложения компьютера сервера состояний при использовании режима сервера состояний состояния сеанса в ASP.NET. Это происходит, когда веб-сервер или компьютер, на котором работает сервер состояний, находится под высоким уровнем нагрузки.

Тип события:Ошибка
Источник события:ASP.NET 1.0.3306.0
Категория события:None
Идентификатор события:1072
Дата:12.09.2001
Время:16:00:25
Пользователь:не определен
Computer: ComputerName
Описание:
Произошла ошибка при обработке запроса на сервере состояний. Основные вызовыtack: EndOfRequest. Код ошибки: 0x80072746

Примечание.

Версия платформа .NET Framework, упомянутая в предыдущем сообщении о событии, является предварительной версией платформа .NET Framework 1.0.

Тип события:Ошибка
Источник события:ASP.NET 1.0.3306.0
Категория события:None
Идентификатор события: 1076
Дата:12.09.2001
Время:16:02:05
Пользователь:не определен
Computer: ComputerName
Описание:
Сервер состояний закрыл подключение TCP/IP с истекшим сроком действия. IP-адрес клиента — 127.0.0.1. Операция чтения с истекшим сроком действия началась 12.09.2001 16:02:00.

Примечание.

Версия платформа .NET Framework, упомянутая в предыдущем сообщении о событии, является предварительной версией платформа .NET Framework 1.0.

Тип события: Ошибка
Источник события: ASP.NET 1.1.4322.0
Категория события: None
Идентификатор события: 1078
Дата: 06.10.2005
Время: 11:03:47
Пользователь: Н/Д
Computer: ComputerName
Сервер состояний закрыл подключение TCP/IP с истекшим сроком действия. IP-адрес клиента — 127.0.0.1. Операция чтения с истекшим сроком действия началась в 06.10.2005 11:03:25.

Причина

При использовании режима сервера состояний сеанса в ASP.NET процесс веб-сервера ASP.NET на веб-сервере взаимодействует с сервером состояний с помощью WinSocket over Transmission Control Protocol/Internet Protocol (TCP/IP). По умолчанию процесс веб-сервера устанавливает значение времени ожидания для всех операций отправки и получения TCP/IP, равное 10 секундам. Аналогичным образом, сервер состояний также время ожидания всех операций отправки и получения TCP/IP через 10 секунд.

Однако если веб-сервер или сервер состояний использует высокую загрузку ЦП (около 100 процентов), операция TCP/IP может занять более 10 секунд и, следовательно, будет отменена до завершения. В результате регистрируется одно из указанных выше событий, и исходный клиентский запрос завершается ошибкой. Сервер состояния регистрирует событие с идентификатором 1072, если время ожидания операции TCP/IP для процесса ASP.NET веб-сервера истекает. Если время ожидания сервера состояний истекает для операции TCP/IP, сервер состояния регистрирует событие с идентификатором 1076.

Разрешение

Чтобы изменить значение времени ожидания операции TCP/IP для процесса веб-сервера ASP.NET, измените следующий атрибут в файлеMachine.config (или укажите следующий атрибут в файлеWeb.config для любого веб-приложения).

 <sessionState
    stateNetworkTimeout="10"
 />

Вот как изменить значение времени ожидания операции TCP/IP для сервера состояний:

  1. Остановите службу сервера состояний ASP.NET.
  2. Нажмите кнопку Пуск, выберите Выполнить, введитеRegedt32.exe, а затем нажмите кнопку ОК, чтобы запустить реестр Редактор.
  3. Найдите следующий раздел в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameter
  4. Добавьте значение DWORD с именем SocketTimeout. Задайте положительное целое число, представляющее новое время ожидания TCP/IP в секундах.
  5. Закройте Редактор реестра.
  6. Перезапустите службу сервера состояний ASP.NET.

Для пользователей, которые сталкиваются с проблемами, описанными в разделе Симптомы , используйте эти методы, чтобы увеличить значения времени ожидания на сервере состояний и на всех веб-серверах до 20 секунд.

Примечание.

Если сервер состояний не работает при увеличении значений времени ожидания на веб-сервере, время ожидания клиентского запроса истекает через n секунд, где n равно новому значению времени ожидания вместо 10 секунд по умолчанию.