Troubleshooting Service References
Опубликовано: Апрель 2016
В данном разделе перечислены типичные проблемы, которые могут произойти при работе со ссылками на Windows Communication Foundation (WCF) или Службы данных WCF в Visual Studio.
Ошибка возврата данных из службы
При возврате из службы DataSet
или DataTable
можно получить исключение "Превышен максимальный размер квоты входящих сообщений". По умолчанию для свойства MaxReceivedMessageSize
некоторых привязок установлено относительно малое значение для предотвращения атак типа "отказ в обслуживании". Чтобы предотвратить это исключение, можно увеличить данное значение. Дополнительные сведения см. в разделе MaxReceivedMessageSize.
Чтобы устранить эту ошибку:
В обозревателе решений дважды щелкните файл app.config, чтобы открыть его.
Найдите свойство
MaxReceivedMessageSize
и установите для него большее значение.
Невозможно найти службу в Решении
При нажатии кнопки Открыть в диалоговом окне Добавить ссылку на службу в списке служб не появляется один или несколько проектов библиотек служб WCF. Это может происходить, если библиотека служб добавлена к решению, но еще не скомпилирована.
Чтобы устранить эту ошибку:
- В обозревателе решений щелкните правой кнопкой мыши проект библиотеки служб WCFи нажмите кнопку Построить.
Ошибка доступа к службе с удаленного компьютера
Когда пользователь пытается получить доступ к расположенной на веб-узле службе WCF через подключение к удаленному рабочему столу, и при этом у пользователя нет административных привилегий, используется проверка подлинности NTLM. Если у пользователя нет административных привилегий, то он может получить следующее сообщение об ошибке: "Запрос HTTP не санкционирован в схеме проверки подлинности клиента "Анонимный". От сервера получен заголовок проверки подлинности "NTLM"."
Чтобы устранить эту ошибку:
В проекте веб-узла откройте Страницы свойств.
Во вкладке Параметры запуска снимите флажок Проверка подлинности NTLM.
Примечание
Выключать проверку подлинности NTLM рекомендуется только для веб-узлов, которые содержат исключительно службы WCF. Управление безопасностью служб WCF осуществляется при помощи настройки файла web.config. Это делает ненужной проверку подлинности NTLM.
Дополнительные сведения см. в разделе Разрешение вопросов, связанных с исключениями: System.ServiceModel.Security.MessageSecurityException.
Параметр Уровень доступа для созданных классов не действует
Установка для параметра Уровень доступа для созданных классов в диалоговом окне Настройка ссылок на службы значения Internal или Friend может работать не всегда. Даже если в диалоговом окне этот параметр выводится с одним из этих значений, классы поддержки будут созданы с уровнем доступа Public
.
Это известное ограничение различных типов, например типов, сериализованных с помощью XmlSerializer.
Отладка ошибок в коде службы
При заходе в код службы WCF из клиентского кода может возникнуть ошибка, связанная с отсутствующими символами. Это может произойти, если служба, бывшая частью решения, была удалена из решения или перемещена.
При первом добавлении ссылки в службу WCF, являющейся частью текущего решения, явная зависимость построения добавляется между проектом службы и проектом клиента службы. Это гарантирует, что клиент всегда имеет доступ к обновленным двоичным файлам службы, что особенно важно для скриптов отладки, например, для перехода из клиентского кода в код службы.
Если проект службы удаляется из решения, то эта явная зависимость построения становится недействительной. Visual Studio больше не может гарантировать, что проект службы можно будет перестраивать по мере необходимости.
Чтобы устранить эту ошибку, необходимо вручную перестроить проект службы:
В меню Сервис выберите пункт Параметры.
В диалоговом окне Параметры разверните узел Проекты и решения и выберите пункт Общие.
Проверьте, что флажок Показывать дополнительные конфигурации построения установлен и нажмите кнопку ОК.
Загрузите проект службы WCF. Дополнительные сведения см. в разделе Практическое руководство. Создание решений для нескольких проектов.
В диалоговом окне Диспетчер конфигураций выберите для свойства Активная конфигурация решения значение Отладка. Дополнительные сведения см. в разделе Практическое руководство. Создание и изменение конфигураций.
Выберите проект службы WCF в обозревателе решений.
В меню Построение нажмите кнопку Перестроить, чтобы перестроить проект службы WCF.
Службы данных WCF не отображаются в браузере.
При попытке просмотреть XML-представление данных в Служба данных WCF браузер Internet Explorer может ошибочно интерпретировать данные как RSS-канал. Необходимо убедиться, что параметр, определяющий, отображаются ли RSS-каналы, отключен.
Чтобы устранить эту ошибку, отключите RSS-каналы:
Запустите обозреватель Internet Explorer и в меню Сервис выберите пункт Свойства обозревателя.
На вкладке Содержимое в разделе Каналы выберите Параметры.
В диалоговом окне Параметры каналов снимите флажок Включить режим чтения каналов и нажмите кнопку ОК.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Свойства обозревателя.
См. также
Windows Communication Foundation Services and WCF Data Services in Visual Studio
Consuming ASMX and WCF Services Sample