Хостинг услуг 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 в месте, отдельном от ваших служб (например, в сети распространения контента), чтобы их можно было доставлять пользователям. Быстро настолько, насколько это возможно.