Была ли эта страница полезной?
Ваш отзыв об этом контенте важен для нас. Расскажите нам о том, что вы думаете.
Дополнительный отзыв?
1500 символов осталось
Устранение неполадок служебной шины
Collapse the table of content
Expand the table of content

Устранение неполадок служебной шины

Обновлено: Июль 2015 г.

В следующих разделах описываются проблемы, которые могут возникать в приложениях записи для Шина службы Microsoft Azure, и способы их решения.

В следующих разделах описывается устранение неполадок в приложениях Служебная шина.

Симптом

В фабрике развертывания приложение Служебная шина работает без ошибок, но после развертывания на серверах Microsoft Azure дает сбой.

Причина

В настоящее время сборки Служебная шина не интегрированы в платформу Microsoft Azure. Таким образом, приложение пытается получить доступ к сборке, которая не существует на сервере.

Решение

Добавьте сборку Служебная шина в пакет развертывания (например, установите сборку в локальную копию). Обратите внимание, что для этого придется обновлять сборки вручную.

Симптом

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

System.Configuration.ConfigurationErrorsException: Не удалось найти расширение привязки конфигурации 'system.serviceModel/bindings/netTcpRelayBinding'. Проверьте правильность регистрации данного расширения привязки в system.serviceModel/extensions/bindingExtensions и правильность написания его имени.

Причина

В настоящее время сборки Служебная шина не интегрированы в платформу Microsoft Azure. Если на локальном компьютере установлен пакет SDK Microsoft Azure, в файл Machine.config добавляется несколько расширений Windows Communication Foundation (WCF), таких как NetTcpRelayBinding. Затем приложение может найти соответствующие сведения в файле Machine.config, например, в разделе netTcpRelayBinding. На платформе Microsoft Azure этого не происходит, следовательно, приложение не может найти соответствующие сведения.

Решение

Чтобы конфигурация работала с Microsoft Azure, скопируйте расширения из локального файла Machine.config в файл App.config. В противном случае такие теги, как netTcpRelayBinding не будут распознаны. Однако если это сделать, то из-за дублирующихся разрешений приложение не будет работать локально. Таким образом, необходимо сохранять две версии файла App.config, одну локальную и одну для Microsoft Azure. Рекомендуется выполнять эту задачу программными средствами.

В следующих разделах содержатся сведения об устранении неполадок подключения к Служебная шина. Если вы не найдете нужное решение ниже, рекомендуется использовать следующую возможность.

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

Симптом

При попытке подключения к Служебная шина с помощью клиентского приложения возникает следующая ошибка:

Необработанное исключение: System.ServiceModel.EndpointNotFoundException: Не найдена конечная точка. Убедитесь, что можете подключаться к Интернету с помощью HTTP-порта 80 и TCP-порта 808.

Причина

Существует несколько возможных причин этой ошибки.

Решение

  • Проверьте, работает ли узел. Если узел не работает, то нет и конечной точки для подключения. Можно запустить службу с помощью одной из двух следующих процедур.

    1. В режиме отладки — щелкните правой кнопкой мыши проект службы в Visual Studioобозревателе решений и выберите пункт Отладка. Затем выберите команду Запустить новый экземпляр. После того как служба запустится, повторите эту процедуру для клиента. Обратите внимание, что можно выполнять отладку клиента, даже если служба уже запущена.

    2. Вне режима отладки — установите проект службы в качестве запускаемого проекта. В меню Отладка выберите команду Запуск без отладки. Таким образом, хотя приложение-служба будет работать, Visual Studio не затрагивается. После запуска службы установите проект клиента в качестве запускаемого проекта, а затем запустите его.

  • Убедитесь, что свойство Копировать локально для сборки Microsoft.ServiceBus.dll (в Visual Studio) установлено в значение true. На облачных серверах не установлен пакет SDK Azure. Поэтому необходимо включить эту сборку в пакет. Без этого рабочая роль не будет работать правильно.

  • Убедитесь, что можете подключаться к Интернету с помощью HTTP-порта 80 и TCP-порта 808.

Симптом

Приложение не может подключиться к Служебная шина и возвращает следующее сообщение об ошибке:

"Клиенту не удалось завершить согласование безопасности в течение заданного периода ожидания (00:01:00). Текущим сегментом согласования является 1 (00:00:59.9429968)."

Причина

Возможно, учетные данные для проверки подлинности установлены неправильно.

Решение

Проверьте, выполняется ли проверка подлинности клиента. В частности, проверьте, установлен ли параметр RelayClientAuthenticationType в значение None. По умолчанию этот параметр имеет значение RelayAccessToken, что означает, что необходимо предоставить утверждение для проверки подлинности, такое как общий секрет. Однако если вручную установить значение None, клиенту не нужно обеспечивать какую-либо проверку подлинности.

Если тип проверки подлинности не устанавливался, то скорее всего параметр RelayClientAuthenticationType имеет значение по умолчанию RelayAccessToken. В этом случае проверьте правильность указания утверждения для проверки подлинности. Дополнительную информацию см. в разделе Обеспечение безопасности и проверка подлинности подключения Service Bus.

Симптом

При попытке подключения к Служебная шина возникает следующая ошибка:

"Ошибка при проверке безопасности сообщения".

Причина

Одна из возможных причин этой ошибки может заключаться в том, что время в формате UTC для локального компьютера опережает время в формате UTC на сервере Служебная шина. Например, на локальном компьютере может быть время 8:06, а на сервере — 8:05. Сервер считает, что это неправильная метка времени, и создает сообщение об ошибке, указанное в разделе "Симптом".

Решение

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

Симптом

Не удается найти службу в веб-канале ATOM, даже если известно, что служба успешно запущена.

Причина

По умолчанию реестр службы не предоставляет службу в веб-канале ATOM.

Решение

Сделайте конечную точку обнаруживаемой, как описывается в разделе Инструкция по публикации службы в реестре Service Bus.

Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2015 Microsoft