Хостинг услуг WCF - PullRequest
       11

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

0 голосов
/ 15 мая 2010

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

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

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

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

Спасибо

Ответы [ 2 ]

1 голос
/ 15 мая 2010

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

1 голос
/ 15 мая 2010

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

  • виртуальный каталог в 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

...