WCF - как добавить несколько сервисов в Service.svc? - PullRequest
4 голосов
/ 10 мая 2010

У меня есть 4 службы, запущенные через проект узла службы, которые прекрасно взаимодействуют с моим приложением asp.net, когда сервер разработки ASP.NET размещает их через VS для отладки.

Я пытаюсь развернуть их в IIS на компьютере с Windows Server 2008, используя WAS.

У меня есть проект, настроенный как приложение в IIS, и я скопировал весь раздел конфигурации из app.config в проекте servicehost в web.config сайта IIS.

После нескольких проблем с комплиментами, теперь я получаю список каталогов при переходе к http://localhost:8000/Services

Я также создал файл Service.svc, который содержит <% @ ServiceHost Service = MyApp.AddressService%>

Когда я перехожу на localhost: 8000 / Services / AddressService, я получаю сообщение о том, что создал службу, и добавление? Wsdl дает мне XML для создания клиента.

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

Должен ли я использовать service.svc для настройки нескольких служб или есть другой способ использования WAS? Как я могу выставить другие мои три службы через то же приложение?

Спасибо!

1 Ответ

6 голосов
/ 10 мая 2010

Вы не можете добавить несколько сервисов в файл SVC. Один файл SVC = один класс обслуживания. Нет способа изменить это.

Однако: вы определенно можете реализовать несколько сервисных интерфейсов для вашего класса обслуживания:

public class YourService : IService1, IService2, IService3
{
  ... 
}

и тогда у вас есть один SVC-файл = один класс обслуживания (реализации) = 3 контракта на обслуживание.

В .NET 4 / WCF 4 вы сможете определять URL для службы в вашем файле web.config, и вам больше не нужны файлы SVC.

См. этот блог здесь или этот здесь для получения дополнительной информации, если вам подходит вариант .NET 4.

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