Хостинг служб WCF

Я работал над приложением Silverlight, которое использует службу WCF. [в Visual Studio]

для простоты я создал службу WCF в самом проекте [как-будто я не размещал ее в IIS, но позволил встроенному серверу webdev в VS сделать это за меня]

Он работает хорошо, теперь я хочу развернуть его на IIS 7.0, вы можете сказать мне, если мне нужно будет разместить службу независимо, а затем остальные вещи, или если я просто опубликую веб-сайт, служба также будет размещена и клиент Silverlight сможет общаться с сервисом.

Пожалуйста помоги!

Спасибо


person Jayesh    schedule 15.05.2010    source источник


Ответы (2)


Вам в основном нужно

  • виртуальный каталог в IIS 7
  • файл SVC (служебный файл), который инструктирует IIS, как создать экземпляр вашей службы.

В основном у вас есть три варианта развертывания реализации вашего сервиса:

  • вы можете поместить свою реализацию службы в файл кода программной части файла SVC - это был бы мой наименее благоприятный вариант - в основном не делайте этого - он становится беспорядочным и не дает никаких преимуществ

  • вы можете поместить файл класса обслуживания (файл MyService.cs) и файл интерфейса (IMyService.cs) в каталог App_Code (если вы используете тип проекта веб-сайта) - опять же, мне не особенно нравится этот подход

  • лучший вариант: поместите свой контракт на обслуживание (интерфейс) и реализацию службы в отдельную сборку библиотеки классов для этой службы и разверните этот MyService.dll в каталоге .\bin под виртуальным каталогом, в котором находится ваш файл SVC.

Затем добавьте файл * .svc (чистый текстовый файл) в свой виртуальный каталог, который содержит:

<%@ServiceHost language="c#" Debug="true" Service="MyService" %>

И, конечно же, вам понадобятся соответствующие записи web.config - но я уверен, что они у вас уже есть, верно?

Ваш служебный адрес сейчас:

http://YourServer/VirtualDirectory/YourService.svc

Для получения дополнительной информации см. Как: разместить службу WCF в IIS

person marc_s    schedule 15.05.2010

Марк понял, как это сделать. В ответ на ваш вопрос о необходимости вам понадобится и вы захотите отделить службы от ресурсов Silverlight (статические ссылки и XAP). Это может не иметь большого смысла для небольших сайтов, но по мере роста вашего размера это дает вам возможность размещать свои ресурсы Silverlight в месте, отдельном от ваших служб (например, в сети распространения контента), чтобы их можно было доставить пользователям. как можно быстрее.

person Thomas Beck    schedule 15.05.2010