IIS-публикация службы WCF - завершается с ошибкой без сообщения - PullRequest
0 голосов
/ 20 июня 2009

У меня есть служба WCF, которую я публикую из Visual Studio 2008 в IIS 6. Согласно окну вывода VS, публикация прошла успешно, сообщений об ошибках и предупреждений нет. Когда я смотрю на IIS, виртуальный каталог был создан, но в каталоге нет .svc. В каталоге просто есть мой web.config и корзина. Любые попытки вызвать мою службу WCF терпят неудачу, потому что они не существуют. Как я могу увидеть сообщение об ошибке, что идет не так? Методом проб и ошибок я обнаружил изменение своего app.config до того, как публикация заставит сервис появиться. А именно мой файл app.config имеет следующие строки: <binding ...> <security mode="Transport"> <transport clientCreditionalType="None"/> </security> </binding>

Если я переключу «Транспорт» на «Нет», то моя служба отобразится в IIS. Но у меня do есть сертификат, установленный на IIS на сервере, и, насколько я могу судить, все настроено правильно на сервере.

В журнале событий нет сообщений об ошибках.

Как я могу найти больше сообщений об ошибках, объясняющих, почему служба не отображается?

Ответы [ 3 ]

0 голосов
/ 21 июня 2009

Попробуйте скопировать ваш проект WCF на компьютер с IIS 6.0 как есть, не используя Publish of VS. Если это помогает, то проблема в VS, в противном случае проблема с IIS. Убедитесь, что .NET Framework 3.5 и ASP.NET установлены на компьютере IIS. Затем убедитесь, что существуют обработчики сопоставления для расширения .svc.

Надеюсь, это помогло

0 голосов
/ 18 июля 2013

Чтобы опубликовать службу WCF в IIS 7 или 8, необходимо зарегистрировать обработчик для svc расширения в web.config :

<system.webServer>
  <handlers>
    <add name="svc" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </handlers>
</system.webServer>

(System.ServiceModel, версия = 3.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089 для .Net 3.5)

0 голосов
/ 21 июня 2009

Чтобы узнать больше, включите ведение журнала wcf. Самый простой способ сделать это - использовать инструмент настройки wcf.

Редактирование на основе вашего комментария: способ публикации сервиса заключается в создании пакета MSI с использованием проекта установки. Есть пара выходов, которые необходимо включить:

  1. Первичный вывод (то есть DLL) должен идти в каталог bin.
  2. Вывод контента. Вы должны создать файлы SVC и пометить их как содержимое.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...