Timer_EntityBody, Timer_ConnectionIdle и соединение закрытый Unexpectly

У нас есть приложение Windows, оно соединяется с веб-сервисом (веб-сервис XML, размещенный на Windows 2008 Server IIS 7.5, никаком антивирусе), и выбирает некоторые данные клиенту. Но иногда (приблизительно 5%-10% запросов), это дает ошибку при попытке соединить веб-сервис.

Вот журнал ошибок клиентского приложения;

Exception:System.Net.WebException: The underlying connection was closed: The connection was closed unexpectedly.
at System.Web.Services.Protocols.WebClientAsyncResult.WaitForResponse()
at System.Web.Services.Protocols.WebClientProtocol.EndSend(IAsyncResult asyncResult, Object& internalAsyncState, Stream& responseStream)
at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke(IAsyncResult asyncResult)
at APPClient.APPFPService.WEBService.EndAddMoney(IAsyncResult asyncResult)
at APPClient.BLL.ServiceAgent.AddMoneyCallback(IAsyncResult ar)

От другой руки, на веб-сервере, я проверил журналы Ошибки HTTP, и я вижу длинный файл как это;

2014-06-05 14:02:04 65.82.178.73 53798 SERVER.IP.ADDRESS 80 - - - - - Timer_ConnectionIdle -
2014-06-05 14:07:24 76.109.81.223 58985 SERVER.IP.ADDRESS 80 - - - - - Timer_ConnectionIdle -
2014-06-05 14:07:39 76.109.81.223 2803 SERVER.IP.ADDRESS 80 - - - - - Timer_ConnectionIdle -
2014-06-05 14:08:59 76.109.81.223 52656 SERVER.IP.ADDRESS 80 - - - - - Timer_ConnectionIdle -
2014-06-05 14:09:05 65.82.178.73 53904 SERVER.IP.ADDRESS 80 HTTP/1.1 POST /webservice/webservice.asmx - 2 Timer_EntityBody SYPService
2014-06-05 14:10:55 50.186.180.191 50648 SERVER.IP.ADDRESS 80 - - - - - Timer_ConnectionIdle -

Вот аналогичная ситуация, но она не помогла мне.

ОБНОВЛЕНИЕ: Когда я проверил журналы IIS, я вижу некоторые проблемы как они;

cs-method   cs-uri-stem                     sc-status   sc-win32-status     time-taken  cs-version
POST        /webservice/webservice.asmx     400         64                  46          HTTP/1.1
POST        /webservice/webservice.asmx     400         64                  134675      HTTP/1.1
POST        /webservice/webservice.asmx     400         64                  37549       HTTP/1.1
POST        /webservice/webservice.asmx     400         64                  109         HTTP/1.1
POST        /webservice/webservice.asmx     400         64                  31          HTTP/1.1
POST        /webservice/webservice.asmx     400         64                  0           HTTP/1.1
POST        /webservice/webservice.asmx     400         64                  15          HTTP/1.1

sc-win32-status 64: указанное сетевое имя больше не доступно.

состояние кв/см 400: Плохой запрос

Также некоторые запросы занимают приблизительно 130 секунд, но часть меньше чем 1 секунды. Это - приложение Windows, которое соединяется с веб-сервисом для, обрабатывают некоторые данные. Нет запроса, занимает приблизительно 130 секунд на базе данных.

0
задан 13 April 2017 в 15:14
3 ответа

Вы смотрите на лог-файлы HTTPERR, но, возможно, это не вся история.

Здесь есть ссылка на то, что означает каждый код: 820729 и, короче говоря, единственное, что вызывает озабоченность - это POST, который был запрещен за слишком длительное время (Timer_EntityBody - т.е. тело сущности не было получено до тайм-аута, настроенного HTTPAPI из вашего приложения).

Неясно, размещаете ли вы это приложение в IIS, но я бы предположил, что если вы получаете эти ошибки, вы исследуете их на уровне приложения (\inetpub\logs\w3svcxxx), а не на системном уровне (\windows\system32\logfiles\httperr).

Журналы приложений, скорее всего, содержат какие-либо ошибки, проблемы или отрыжки на уровне приложения, и в журнале событий приложения, в EventVwr.

, также могут быть свидетельства.
0
ответ дан 24 November 2019 в 09:32

из журнала IIS. он показывает, что веб-сервис недоступен или недоступен "/webservice/webservice.asmx 400". Запустите веб-службу отдельно, чтобы убедиться, что веб-служба запущена и работает на том же сервере, где размещена служба Windows. Также это может быть проблема сети, если служба Windows и веб-служба находятся в разных местах.

0
ответ дан 24 November 2019 в 09:32

Статус 400 означает «Неверный запрос». Так что это не проблема-сервера. Что-то не так с запросом. Неправильно-сформирован до обращения к IIS

Если бы код подстатуса отличался от 0, устранить неполадку было бы проще. Например, если бы это было 1, это означало бы «Недопустимый заголовок назначения». Если бы это было 2, это означало бы «Недопустимый заголовок глубины». Вот полный список кодов состояния .

64 в статусе sc-win32-есть проблема, связанная с сетью-. Это относится к «Указанное сетевое имя больше недоступно». После отправки ответа IIS ожидает пакет ACK от клиента. Если клиент сбрасывает соединение вместо отправки этого пакета, IIS регистрирует код 64, поскольку это не корректное закрытие соединения.

Таймер_Ошибка EntityBody означает «Срок действия соединения истек до прибытия тела объекта запроса».

Рекомендации

  • Проверьте наличие программного обеспечения, такого как антивирус или конечная точка сети. защита на сервере. Удалите их и следите за системой на предмет в то время как, чтобы увидеть, возникает ли проблема снова (Примечание:их отключение иногда не означает, что они больше не работают в фоновом режиме. Удаление является окончательным способом устранения их из процесс устранения неполадок)

  • Обратитесь за поддержкой-к сторонним продуктам, чтобы посмотрите, есть ли что-то, что блокирует запросы для полной отправки. Приложение может инициировать подключение, но не завершать его.

  • Обратитесь к вашей сетевой группе, чтобы проанализировать сеть между веб-сервер и клиент. В идеале трассировка сети была бы очень полезной.

Источник:Код состояния 400 с 64 в столбце статуса sc-win32-

0
ответ дан 4 October 2021 в 15:23

Теги

Похожие вопросы