Для запуска службы WCF необходим хост-процесс. Об этом нет.
Если хост-процесс может (в зависимости от того, какие требования, модель развертывания, ограничения сети и т. Д. Применимы к вашему случаю), будет таким же, как и ваше настольное приложение, а затем вставьте эту службу в свое настольное приложение. Этот метод называется хостингом WCF in-proc. Это в основном «Self Hosting» - сервис в клиентском приложении. Если вы примете это решение, используйте привязку IPC (net.pipe), поскольку это более оптимально, и устраните все возможные проблемы с сетью/брандмауэром.
Если служба должна быть запущена на другом компьютере или в другом процессе, вам необходимо использовать или реализовать приложение-хост. IIS, WAS, AppFabric и WCFServiceHost (не хост производственного класса) являются примерами готовых к использованию хостов, которые вы можете использовать. Если вы не можете или не хотите их использовать, вам нужно будет реализовать свое собственное хост-приложение и «Self Host» в нем службу WCF. Ваше приложение может быть любым: консоль, рабочий стол, служба Windows и т. Д. Если вы не хотите, чтобы пользователи беспокоились о том, как и когда запускать хост, убедитесь, что он работает в любое время. Рекомендуется использовать службу Windows, которая запускается автоматически.
Если служба должна быть запущена на компьютере, отличном от клиента, то убедитесь, что все сетевые устройства и программное обеспечение (межсетевые экраны, маршрутизаторы, шлюзы и т. Д.) Между сервером и клиентом настроены правильно для вашей привязки работать. Будьте в курсе протокола (http, tcp и т. Д.) И порта (80, 443, 808 и т. Д.), На которое действует привязка.
Я уже пользуюсь WebServiceHost, но, похоже, это не работает для меня. Доступ к IP-адресу моей системы: порт не вызывает служебную страницу. –
Может быть брандмауэром или у пользователя нет достаточных привилегий для размещения на используемом вами порту. http://msdn.microsoft.com/en-us/library/ms733768.aspx – driis
Можете ли вы объяснить сценарий, который мне потребуется? Если я использую REST, как я могу позволить удаленному устройству, например моему iPhone, звонить в службу, через HTML-файл JS на основе –