Поделиться через


Устранение неполадок Windows Communication Foundation (WCF) или службы данных WCF ссылок в Visual Studio

Область применения: Visual Studio

В этой статье перечислены решения распространенных проблем, которые могут возникнуть при работе со ссылками на Windows Communication Foundation (WCF) или службы данных WCF в Visual Studio.

Если вы хотите обновить или удалить ссылку на службу, см. статью "Добавить, обновить" или удалить ссылку на службу данных WCF.

Ошибка при отсутствии адреса службы

При нажатии кнопки Go без адреса может появиться сообщение об ошибке с сообщением "Введите адрес службы". Чтобы устранить эту проблему, определите адрес службы и введите его.

  • Если это служба в решении, вы можете использовать кнопку "Обнаружение ", чтобы найти и выбрать ее, а затем снова попробовать кнопку Go .
  • Если служба размещена где-то в Интернете, добавьте ее, выполнив инструкции по добавлению ссылки на службу WCF.

Ошибка при возврате данных из службы

При возврате DataSet службы или DataTable из нее может появиться исключение "Превышен максимальный размер квоты для входящих сообщений". По умолчанию MaxReceivedMessageSize свойство для некоторых привязок имеет относительно небольшое значение, чтобы ограничить воздействие атак типа "отказ в обслуживании". Это значение можно увеличить, чтобы предотвратить исключение. Дополнительные сведения см. в разделе MaxReceivedMessageSize.

Чтобы исправить эту проблему, сделайте следующее:

  1. В Обозреватель решений дважды щелкните файл app.config, чтобы открыть его.
  2. MaxReceivedMessageSize Найдите свойство и измените его на большее значение.

Не удается найти службу в моем решении

При нажатии кнопки "Обнаружение " в диалоговом окне "Добавление ссылок на службы" один или несколько проектов библиотеки служб WCF в решении не отображаются в списке служб. Эта проблема может возникнуть, если в решение добавлена библиотека служб, но еще не скомпилирована.

Чтобы исправить эту проблему, сделайте следующее:

  1. В Обозреватель решений щелкните правой кнопкой мыши проект библиотеки служб WCF.
  2. Выберите Build (Сборка).

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

Когда пользователь обращается к веб-размещенной службе WCF через подключение к удаленному рабочему столу, а у пользователя нет административных разрешений, используется проверка подлинности NTLM. Если у пользователя нет административных разрешений, пользователь может получить следующее сообщение об ошибке: "HTTP-запрос не несанкционированен с помощью схемы проверки подлинности клиента "Анонимный". Заголовок проверки подлинности, полученный от сервера, был NTLM.

Чтобы исправить эту проблему, сделайте следующее:

  1. В проекте веб-сайта откройте страницы свойств .
  2. На вкладке "Параметры запуска" снимите флажок "Проверка подлинности NTLM".

Примечание.

Вы должны отключить проверку подлинности NTLM только для веб-сайтов, которые содержат исключительно службы WCF. Безопасность служб WCF управляется с помощью конфигурации в файле web.config . Это делает проверку подлинности NTLM ненужным.

Уровень доступа для параметров созданных классов не влияет

Установка уровня доступа для созданных классов в диалоговом окне "Настройка ссылок на службы" значение "Внутренний" или "Друг" может не всегда работать. Несмотря на то, что параметр, как представляется, установлен в диалоговом окне, полученные классы поддержки создаются с уровнем Publicдоступа. Это известное ограничение определенных типов, например сериализованных с помощью .XmlSerializer

Код службы отладки ошибок

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

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

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

Чтобы устранить эту ошибку, вручную перестроите проект службы:

  1. В меню Tools (Сервис) выберите пункт Options (Параметры).
  2. В диалоговом окне "Параметры" разверните узел "Проекты и решения" и выберите "Общие".
  3. Установите флажок "Показать расширенные конфигурации сборки" и нажмите кнопку "ОК".
  4. Загрузите проект службы WCF.
  5. В диалоговом окне Configuration Manager задайте конфигурацию активного решения для отладки. Дополнительные сведения см. в разделе Практическое руководство. Создание и изменение конфигураций.
  6. В Обозреватель решений выберите проект службы WCF.
  7. В меню "Сборка" выберите "Перестроить", чтобы перестроить проект службы WCF.

службы данных WCF не отображаются в браузере

При попытке просмотреть XML-представление данных в службе данных WCF Internet Explorer может неправильно рассматривать данные как RSS-канал. Убедитесь, что параметр отображения RSS-каналов отключен.

Чтобы устранить эту ошибку, отключите RSS-каналы:

  1. В Internet Explorer в меню "Сервис" выберите "Параметры браузера".
  2. На вкладке "Содержимое" в разделе "Каналы" выберите "Параметры".
  3. В диалоговом окне "Параметры веб-канала" снимите флажок "Включить режим чтения веб-канала" и нажмите кнопку "ОК".
  4. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Свойства браузера.