2014-12-19 3 views
0

Я выполнил «Пошаговое руководство: создание и доступ к службам WCF» от http://msdn.microsoft.com/en-us/library/bb386386.aspx для создания Библиотеки услуг WCF. Я тестировал его в тестовом клиенте WCF. Затем в другой настольное приложение (назовем его А), в конце концов, я хотел бы использовать эту WCF я добавил ссылку на службу WCF, что Клиент Тест даетСсылка на опубликованную службу WCF

http://localhost:8733/... 

и работал тоже.

Теперь я в процессе публикации и использования справочной службы опубликованной версии. Вот что я сделал, я опубликовал службы WCF библиотеки по

  1. правой кнопкой мыши на решение
  2. Выбор Опубликовать
  3. щелчок ...
  4. Выбор файловой системы и набрав

    \ mywebaddress.example.com \ wwwroot \ myWCFService

Похож на t он публикует успешен, потому что, перейдя в

\\mywebaddress.example.com\wwwroot\myWCFService 

в файловом браузере, я вижу, что Web.config, .svc и папки бен созданы.

Теперь я пытаюсь обратиться к этой опубликованной версии от моего настольного приложения A. Я не уверен, какие варианты я должен выбрать

Вот что я пробовал:

  1. Выберите Добавить ссылку на службу в настольном приложении А,
  2. Я попытался

    \ mywebaddress.example.com \ Wwwroot \ myWCFService

в поле Адрес Добавить ссылку на службу, прессованные Go и получил ошибку ошибка (подробности) произошло при попытке найти услуги на

\\mywebaddress.example.com\wwwroot\myWCFService. 

При нажатии на детали, я получаю Был ошибка загрузив

\\mywebaddress.example.com\wwwroot\myWCFService 

Доступ к пути

\\mywebaddress.example.com\wwwroot\myWCFService 

отрицается.

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

В качестве альтернативы я попробовал расширенный вариант из Добавить ссылку на службу и оттуда Добавить веб-ссылку ...и в поле URL набран

http://www.example.com/myWCFService/ 

затем при нажатии кнопки со стрелкой я получаю 401 - Несанкционированное: доступ запрещен из-за неправильные учетные данные.

У вас нет разрешения на просмотр этого каталога или страницы с использованием учетных данных, которые вы предоставили. и в веб-службах, найденных по этому URL-адресу: значение не может быть нулевым. Имя параметра: discoveryError & mexError.

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

403 - Запрещено: доступ запрещен. У вас нет разрешения на просмотр этого каталога или страницы с использованием учетных данных, которые вы предоставили. найдено

Веб-сервисы по этому адресу: Был ошибка загрузки

http://www.example.com/wcfservice/_vti_bin/ListData.svc/ $ метаданных

Сбой запроса с состоянием HTTP 404: Не найдено.

+0

Я замечаю, что у вас есть IIS в ваших тегах, но не в вашем вопросе. Что это связано с IIS? –

+0

Я тоже не уверен. Но я собираюсь опубликовать этот WCF в IIS и опубликовать в Файловой системе, о которой я упоминал, она появляется в IIS. Я не очень разбираюсь в IIS, поэтому я не уверен, как он отображается в IIS, хотя я выбираю файловую систему для публикации. – Dogahe

+0

Вам не обязательно быть экспертом в IIS, чтобы знать, что файловая система не является IIS. –

ответ

1

Когда я только что опубликовал проект Библиотеки служб WCF с Visual Studio 2013, мне предложили варианты для файловой системы, локального IIS и FTP-сайта. Когда я выбираю «Local IIS», он показывает мне как IIS Express, так и мой локальный полный IIS.

Я только что опубликовал в IIS, выбрав «Веб-сайт по умолчанию» и нажав кнопку «Создать веб-приложение» на панели инструментов. Я назвал приложение, нажал «Открыть», а затем щелкнул «Опубликовать» в главном диалоговом окне публикации.

Публикация папки с библиотекой DLL и других библиотек, в которой она нуждается, файл web.config и .svc. Мне не удалось найти файл .svc. Я даже мог добавить его в качестве ссылки на другой проект.

Если вы всегда будете размещать свои службы в IIS, и если вам не нужно сохранять чистое разделение слоев (возможно, вы пишете только несколько простых сервисов), то я рекомендую вам использовать Вместо этого используется шаблон приложения WCF Service Application. Это создает веб-проект, в котором размещаются сервисы, а также файлы .svc и .cs, необходимые для самих служб. Это больше похоже на единственный вариант, доступный для веб-служб ASMX.

+0

Большое спасибо! Я попробую это позже и обновить это сообщение соответственно. – Dogahe

+0

IIS, которому я хотел бы опубликовать эту службу WCF, не находится на том же сервере, что и среда разработки. Может ли вариант локального IIS опубликовать в этом случае? Я так не думаю. – Dogahe

+0

Взгляните на мой последний параграф. –

Смежные вопросы