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

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

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

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

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

Спасибо

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".

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

Другие вопросы по тегам