новый сервер IIS; Сервис WCF; методы появляются, классы не - PullRequest
0 голосов
/ 09 января 2020

У меня есть служба WCF, которая отлично работает на нашем старом сервере IIS. Этот сервис имеет как методы, так и классы, которые он предоставляет, и все они настроены правильно с использованием [ServiceContract], [OperationContract] и [DataContract]. Служба отлично работает на старом сервере. Служба видна только в нашем локальном интр anet.

Мы пытаемся перейти на новый сервер IIS. Другие ASP. NET веб-сайты работают на новом сервере IIS. Теперь в коде клиентского приложения, если я пытаюсь «Добавить ссылку на службу», я могу успешно добавить ссылку на службу на новый сервер IIS. Проблема в том, что пока методы работают, классы из службы WCF не видны в клиентском приложении. Если я беру существующую ссылку на службу и в файле app.config, если я изменяю URL на новый сервер, все работает. Я посмотрел на файлы WSDL, и в обоих есть классы.

Я проверил «Роли и функции» на обоих серверах и не вижу различий в соответствующих элементах. Что я делаю не так?

1 Ответ

0 голосов
/ 10 января 2020

Хорошо, поэтому ссылка, приведенная в комментарии выше, на самом деле решила это. Спасибо Лексу Ли

stackoverflow.com / questions / 3000209 / service-reference-not-Generating-client-types

, когда я принял предложение Авраама Цяня и попытался добавить новая ссылка службы на старый сервер, она делала то же самое, что и новый сервер, не показывая классы. Это сказало мне, что это была визуальная проблема студии. Затем я попробовал предложение Лекса Ли, и это решило мою проблему. В качестве краткого резюме исправления:

  1. Когда вы добавляете новую ссылку на службу, go в "Advanced ..."
  2. По умолчанию "Повторное использование типов во всех ссылках сборки "выбрано. Измените это на «Повторное использование типов в указанных ссылочных сборках»
  3. В поле под этой опцией отметьте «mscorlib».
  4. Fini sh добавив сервисную ссылку как обычно.

Как только я это сделал, это исправило мои проблемы. Спасибо всем за помощь!

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