Объект связи, System.ServiceModel.Channels.ServiceChannel, не может использоваться для связи - PullRequest
138 голосов
/ 04 мая 2010

Объект связи, System.ServiceModel.Channels.ServiceChannel, не может быть использован для связи, потому что он находится в состоянии Failed.

Что это за ошибка и как мне ее решить?

Ответы [ 14 ]

0 голосов
/ 20 июня 2018

Сервер автоматически прервет соединения, по которым не было получено ни одного сообщения в течение времени, равного тайм-ауту приема ( по умолчанию составляет 10 минут ). Это предотвращение DoS-атак, чтобы клиенты не заставляли сервер открывать соединения в течение неопределенного периода времени.

Поскольку сервер прерывает соединение из-за простоя, клиент получает это исключение.

Вы можете контролировать, как долго сервер разрешает соединение бездействовать, прежде чем прерывать его, настроив тайм-аут приема для привязки сервера. Предоставлено T.R. Vishwanath - MSFT

0 голосов
/ 08 мая 2018

Эта ошибка также может быть вызвана вашим собственным компьютером, а не просто необработанным исключением. Если время вашего сервера / компьютера отключено на слишком много минут, многие веб-службы .NET отклонят ваш запрос с необработанной ошибкой. Это обрабатывается с их точки зрения, но не обрабатывается с вашей точки зрения. Убедитесь, что часы вашего принимающего сервера правильные. Если это необходимо исправить, вам придется сбросить службу или перезагрузить систему, прежде чем канал откроется снова.

Я столкнулся с этой проблемой на сервере, где брандмауэр заблокировал обновление времени в Интернете, и сервер по какой-то причине отключился. Все сторонние веб-сервисы .NET оказались неисправными, поскольку отклонили любой запрос веб-сервиса. Копание в Event Viewer помогло определить проблему, но настройка часов решила ее. Ошибка была на нашем конце, даже несмотря на то, что мы получили сообщение об ошибке Failed State для будущих вызовов веб-службы.

0 голосов
/ 13 декабря 2017

В моем случае причина была в неправильном сертификате, который не мог быть загружен. Я узнал об этом из средства просмотра событий в разделе Система:

При попытке доступа к серверу TLS произошла неустранимая ошибка. личный ключ. Код ошибки, возвращенный из криптографии модуль 0x8009030D. Состояние внутренней ошибки: 10001.

0 голосов
/ 12 августа 2013

Не является решением этой проблемы, но если вы столкнулись с вышеуказанной ошибкой в ​​Ektron eSync, возможно, в вашей базе данных недостаточно дискового пространства.

Редактировать: На самом деле это не только проблема Ektron eSync. Это может произойти с любым сервисом, который запрашивает полную базу данных.

Редактировать: Эта проблема вызвана нехваткой места на диске или блокировкой доступа к нужному каталогу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...